How .NET deployment works

When you deploy a .NET project, PowerBuilder compiles existing or newly developed PowerScript code into .NET assemblies. At runtime, the generated .NET assemblies execute using the .NET Common Language Runtime (CLR). PowerBuilder's .NET compiler technology is as transparent as the P-code compiler in standard PowerBuilder client-server applications.

Depending on their application target type, the assemblies you generate from a .NET project are built into Web Forms or Windows Forms applications. If you generate assemblies from a component target type, the assemblies are deployed as independent .NET components or as Web services.

PowerBuilder Web Forms applications have a three-tier architecture, with the client running in a Web browser on the front end and PowerBuilder components running on the Microsoft IIS server using ASP.NET 2.0 technology. A session is created and is dedicated to processing each user request on the client side, ensuring that the applications are stateful. The session manages the runtime environment, makes required connections to the database, retrieves data, renders HTML responses, and keeps the session active in the server until the user closes the application or the session times out.

PowerBuilder Windows Forms applications run on the .NET 2.0 Framework using local computer hardware resources. The smart client feature permits you to publish Windows Forms applications to an IIS or FTP server, and leverages Microsoft's ClickOnce technology, making it easier for users to get and run the latest version of an application and easier for administrators to deploy it.

Figure 1-1 is a high level architectural diagram showing the conversion of PowerBuilder applications and custom class objects to applications and components on the .NET platform.

Figure 1-1: Conversion of applications and components to .NET

PBL files shown on the left get processed by the PowerBuilder .NET compiler to Web Forms or Windows Forms applications; nonvisual user objects are processed as .NET assemblies or Web services. The generated applications and components depend on the PowerBuilder system library for .NET, that depends in turn on the .NET Framework.