client server technologies presented by: gord davey

35
Client Server Technologie s Presented by: Gord Davey

Upload: teresa-ferguson

Post on 12-Jan-2016

234 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Client Server Technologies Presented by: Gord Davey

Client Server Technologies

Presented by:Gord Davey

Page 2: Client Server Technologies Presented by: Gord Davey

Presentation Overview

Application Server Enhancements

JavX Enhancements

Client/Server Efficient Coding

AutoUpdater

Page 3: Client Server Technologies Presented by: Gord Davey

• 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

Application Server Enhancements

Page 4: Client Server Technologies Presented by: Gord Davey

• NT Service Support• Simple Install/Un-Install/Start/Stop

Application Server Enhancements

Page 5: Client Server Technologies Presented by: Gord Davey

• Logging Enhancements• Clear All and Log Rotation

Application Server Enhancements

Server PID

Page 6: Client Server Technologies Presented by: Gord Davey

• Start-In and INI for spawned tasks enhanced

Application Server Enhancements

Page 7: Client Server Technologies Presented by: Gord Davey

• 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%

Application Server Enhancements

Page 8: Client Server Technologies Presented by: Gord Davey

• 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

JavX Enhancements

Page 9: Client Server Technologies Presented by: Gord Davey

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

Page 10: Client Server Technologies Presented by: Gord Davey

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

Page 11: Client Server Technologies Presented by: Gord Davey

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)

Page 12: Client Server Technologies Presented by: Gord Davey

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.

Page 13: Client Server Technologies Presented by: Gord Davey

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

Client/Server Efficient Coding

Page 14: Client Server Technologies Presented by: Gord Davey

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

Client/Server Efficient Coding

Page 15: Client Server Technologies Presented by: Gord Davey

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

Client/Server Efficient Coding

Page 16: Client Server Technologies Presented by: Gord Davey

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( )

Client/Server Efficient Coding

Page 17: Client Server Technologies Presented by: Gord Davey

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 …

Client/Server Efficient Coding

Page 18: Client Server Technologies Presented by: Gord Davey

• Features • Server-Side Setup• Server-Side Directory Structure• Server-Side Configuration

AutoUpdater

Page 19: Client Server Technologies Presented by: Gord Davey

AutoUpdaterFeatures

• 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

Page 20: Client Server Technologies Presented by: Gord Davey

AutoUpdaterFeatures

• 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

Page 21: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-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!

Page 22: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-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)

Page 23: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-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)

Page 24: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-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

Page 25: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-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

Page 26: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-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)

Page 27: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-Side Configuration

• Interactive=Silent or Prompted (if not set, the default is Prompted)

Page 28: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-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.0000RepositoryPrefix=PVXDirectory to look in will be \lib\_repository\pvx.7.00.0000

Page 29: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-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

Page 30: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-Side Configuration

• AllowClientInitiation=Y or N (if null then default is N)• Displays dialogue advising user on what will

happen

Page 31: Client Server Technologies Presented by: Gord Davey

AutoUpdaterServer-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)

Page 32: Client Server Technologies Presented by: Gord Davey

[DEFAULTS]INTERACTIVE= SILENTALLOWUPGRADE=YALLOWDOWNGRADE=YALLOWCOMPARE=YCOMPAREFREQUENCY=MLOOKANDFEEL=4

[DEBUG]LOGLEVEL=0

[PRODUCTS]1=ProvideX2=WindX Standalone3=WindX Plugin4=JavX

[PRODUCT:ProvideX]IDENTIFIER=PVXCURRENTVERSION=7.00.0000REPOSITORYPREFIX=pvx

[PRODUCT:WindX Standalone]IDENTIFIER=WXSCURRENTVERSION=7.00.0000REPOSITORYPREFIX=pvx

[PRODUCT:WindX Plugin]IDENTIFIER=WXPCURRENTVERSION=7.00.0000REPOSITORYPREFIX=pvx

[10.100.1.1]ALLOWUPGRADE=N

AutoUpdaterExample autoupdate.conf file

Page 33: Client Server Technologies Presented by: Gord Davey

# 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

AutoUpdaterExample manifest.conf file

Page 34: Client Server Technologies Presented by: Gord Davey

THANK YOU!

End of Presentation

Page 35: Client Server Technologies Presented by: Gord Davey

THANK YOU!

End of Presentation