Migrating EAServer Targets

Migratiing EAServer targets from earlier versions of PowerBuilder to PowerBuilder Classic may require some additional considerations. PowerBuilder .NET does not support EAServer targets.

Migrating components to EAServer 6.0.1 or later

Intercomponent calls from a PowerBuilder component running in EAServer 6.0.1 require proxies for all called components. In earlier versions of EAServer, a PowerBuilder component can sometimes call another PowerBuilder component running in the same server without the use of a proxy, because the PowerBuilder VM dynamically creates a proxy for the component using method names that match the names of the component's methods.

In EAServer 6.0.1 and later, PowerBuilder components are wrapped as EJBs, providing an extra layer of security and preventing the PowerBuilder VM from dynamically generating a proxy with names that match the component's method names. Therefore, you must create a proxy object for all components you invoke with intercomponent calls. Without a proxy object, the TransactionServer object cannot obtain the correct method names of the component you are calling.

Accessing EAServer components from .NET targets

PowerBuilder installs the EAServer DLLs, com.sybase.iiop.net.dll and com.sybase.ejb.net.dll, in the Global Assembly Cache (GAC) on the development computer, and requires these DLLs on runtime computers for applications that access EAServer components from .NET targets. You can use the Runtime Packager to place these DLLs in the GAC on deployment computers.

Note: The DLLs intalled by the PowerBuilder setup program have been tested, and are compatible with EAServer 6.3.1. However, if you use an EAServer version other than 6.3.1, it is best to copy the DLLs from the EAServer/Lib directory to the GAC of all computers where you deploy your applications. If you then run or rerun the Runtime Packager, you must also recopy these DLLs to the GAC, because the Runtime Packager overwrites them.