Release 10.1A: OpenEdge Development:
Open Client Introduction and Programming

> ## Open Client interface generation

> Once the Open Client interface definition is validated and updated as appropriate, the Open Client proxy or Web service definition can be generated.The Java proxy includes a set of `.java` and `.class` files. The .NET proxy is a single assembly (`.dll` file) containing the classes. The Web service definition includes a `.wsm` file and (optionally) a `.wsdl` file. In all cases, the activity log records any significant generation events and errors.

> ##### Generating .NET client interfaces

> The .NET proxy generation options also allow you to choose from two alternative Open Client Runtime assemblies to use and deploy with your .NET proxy, depending on the level of security that your executable code demands. The basic difference between them for Open Client deployment is that the most secure runtime assemblies require more of your executable code to be rebuilt when you make a change to the Open Client application:

> - Strong-named Open Client Runtime assemblies

> This is the most secure option because Progress Software Corporation builds the OpenEdge .NET assemblies both strong-named and digitally signed. Strong-naming an assembly guarantees that the assembly contents have had no unauthorized changes (without a spoof being detected) and digitally signing the assembly identifes who created it (Progress Software Corporation). Using strong-named Open Client Runtime assemblies supports the following options and requirements:

> - You can strong-name both the proxy and the .NET application; and you can digitally sign the proxy and the .NET application. If you want, you can also have the OpenEdge .NET assemblies loaded into the .NET Global Assembly Cache.
> - When you are ready to deploy updated OpenEdge .NET assemblies, you must regenerate the proxy and rebuild the Open Client application, then redploy all the files.
> - After installing any service pack or other fix, you must regenerate the proxy and rebuild the Open Client application, then redploy all the files.
> - Signed-only Open Client Runtime assemblies

> This is the less secure option because Progress Software Corporation builds the OpenEdge .NET assemblies digitally signed, but not strong-named. Digitally signing an assembly identifes who created it (Progress Software Corporation), but does not guarantee that the assembly contents have had no unauthorized changes (allowing a spoofed assembly to go undetected). Using signed-only Open Client Runtime assemblies supports the following options and requirements:

> - This is the default option, allowing the least disruption during redeployment, in exchange for lessened security.
> - You cannot strong-name either the proxy or the .NET application; but you can digitally sign both the proxy and the .NET application. You also cannot have the OpenEdge .NET assemblies loaded into the .NET Global Assembly Cache.
> - When you are ready to deploy updated OpenEdge .NET assemblies, you can simply redeploy the updated .NET assemblies with no need to redeploy the proxy or Open Client application.
> - After installing any service pack or temporary fix, you can simply redeploy the updated .NET assemblies with no need to redeploy the proxy or Open Client application.

> Depending on the option you choose (see the ".NET tab" section), .NET proxy generation causes the corresponding Open Client Runtime assemblies to be copied to the output directory (Output Dir on the General tab) for ease of deployment.

> ProxyGen generation performs the following actions, writing any output to the output directory that you specify in the generate preferences (Output Dir on the General tab):

> - Saves the Open Client interface definition to the project file.

> - Performs Open Client interface validation.

> - Generates a Java proxy, .NET proxy, and/or Web service definition, as specified.

> - For .NET proxies, provides a copy of the selected Open Client Runtime assemblies.

> For information on the generated proxy for a Java client, see OpenEdge Development: Java Open Clients . For information on the generated proxy for a .NET client, see OpenEdge Development: .NET Open Clients . For information on the generated Web service definition, see OpenEdge Development: Web Services .

> ##### Supporting localized messages for .NET client interfaces

> When ProxyGen builds the .NET proxy, it copies the required .NET runtime assemblies to the proxy generation output directory. For the message assembly, only the resources for the language matching the current local language are copied to the output directory. If you need to support a different language, you must manually copy some additional files to the output directory.

> To support an alternative language or more than one language, you must copy the language resources from one of the following locations depending on your generation option:

> - Strong-named Open Client Runtime assemblies — Copy the resource for the languages you want to support from the following directory:

>     OpenEdge-install-directory\dotnet\deploy\strongnamed-signed

> - Signed-only Open Client Runtime assemblies — Copy the resource for the languages you want to support from the following directory:

>     OpenEdge-install-directory\dotnet\deploy\signed

> For example, if you want to support a French deployment for a signed-only environment, copy the `fr` directory from `OpenEdge-install-directory``\dotnet\deploy\signed` to your proxy generation output directory.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095