Deploying a component to EAServer

PowerBuilder VM must be available on the server

You can deploy components to EAServer hosts running Windows and UNIX. The version of the PowerBuilder VM on the development computer must also be available on the server. To find out which versions of EAServer and the PowerBuilder VM are available on each UNIX platform, contact your sales representative or check the Sybase Web site.

The PowerBuilder VM includes PBVM105.DLL, PBJAG105.DLL, PBDWE105.DLL, and other PowerBuilder files required at runtime. On UNIX, the shared libraries are called libpbvm105x.ext, libdwe105x.ext, and so forth, where ext is the shared library extension for each UNIX platform. EAServer uses a version of the PowerBuilder runtime files, identified by the x at the end of the file name, that does not provide support for Windows API calls or graphical operations, including printing.

NoteConsuming a .NET Web service from a PowerBuilder NVO If you call a .NET Web service from a PowerBuilder component running in EAServer, you must deploy the Sybase.PowerBuilder.WebService.Runtime.dll, Sybase.PowerBuilder.WebService.RuntimeRemoteLoader.dll and the dynamically generated .NET assembly to the EAServer bin directory.

EAServer supports multiple versions of the PowerBuilder VM on the same server. Components built with different versions of PowerBuilder can coexist on the same server as long as the required version of the PowerBuilder VM is available on the server.

When you deploy a component from PowerBuilder 10 to EAServer, the component is associated with the version of the PowerBuilder VM that you are using. In EAServer Manager, the com.sybase.jaguar.component.pb.version property is set to 105 on the All Properties tab page of the component’s property sheet.

If you do not use the PowerBuilder development environment to deploy a PowerBuilder component to EAServer, you can specify the correct version of the VM for the component on its property sheet in EAServer Manager.

If you deploy a PowerBuilder component to a server that does not have the version of the PowerBuilder VM used in the development environment, the deployed component cannot be instantiated.

About deploying EAServer components

To deploy a component to EAServer, create a new project and build the project. The new project lists the objects that will be included and specifies the name of the output library that will contain the generated components.

NoteMaking DataWindow definitions available If your scripts reference DataWindow objects dynamically, you must check the Include Unreferenced Objects in Consolidated PBD box in the wizard or painter to make the DataWindow definitions available to the component.

How to deploy the component

To deploy a component to EAServer, open the project created by the wizard and select Design>Build Project.

What happens when you deploy to EAServer

When you deploy components to EAServer, the component generator performs these operations:

Cleaning up the EAServer repository

You can reclaim disk space by removing directories you no longer need, using a service component called CookieMonster that can be downloaded from the Sybase Web site or using the following procedure.

StepsTo delete unwanted directories and PBD files:

  1. Delete all directories except the most recent.

  2. Rename the remaining directory to C1.

  3. Set the value of the pb.cookie property to 1 on the All Properties tab page of the property sheet for the component in EAServer Manager.

  4. Restart EAServer.

Changing the component’s codeset

Any EAServer component deployed by PowerBuilder automatically uses the code set of the server. If you want your component to use a different code set, set the component’s com.sybase.jaguar.component.code.set property to an appropriate value. You can do this in the Component Properties dialog box in EAServer Manager. Select the All Properties tab, add the com.sybase.jaguar.component.code.set property, and specify an appropriate value such as big5 or iso_1.

If EAServer was started using the utf-8 codeset and your component returns a string containing the Euro and/or British pound symbol, set the code.set property to cp1252.