Skip to main content
Ice Tea GroupIce Tea Group
Compatibility Library

The PPJ FrameworkLegacy Apps, Native on .NET

The PPJ Framework is the compatibility library that ported applications rely on to run on .NET. It supplies the libraries and plumbing code for features that are missing — or work very differently — in the standard .NET Framework, so your migrated application behaves exactly as it always has.

A Compatibility Layer, Not a Rewrite

What the PPJ Framework Is

The PPJ Framework is the collection of libraries that ported applications need to support behavior that is unavailable, or too different, in standard .NET. It bridges the gap between generated .NET code and the runtime — a complete replacement and enhancement for Team Developer and SAL functionality, written entirely in C#.

It also redefines legacy "static" methods into modern object-oriented code, so developers manipulate UI controls, variables, and classes using standard .NET syntax — while the framework quietly preserves the semantics the original application depended on.

Provides the plumbing code .NET does not ship with
A complete replacement for SAL and Team Developer functionality
Redefines legacy static methods as object-oriented .NET code
Written entirely in C#, built on standard .NET controls
No proprietary controls — uses native .NET classes

What the Library Provides

The framework is organized into functional areas that mirror what Team Developer offered — kept consistent across both the desktop and web implementations.

Compatibility Layer

Supplies the libraries and plumbing code that let ported applications execute features that are missing or drastically different in the .NET environment.

Modern Object-Oriented Approach

Redefines legacy static methods into modern object-oriented code, so UI controls, variables, and classes are manipulated using standard .NET syntax.

Reporting Support

Maps legacy reporting engines directly to modern tools — Crystal Reports, SQL Server Reporting Services, Stimulsoft, and Combit List & Label.

SQL Binding

Provides the SQL handling and data-binding behavior that SQLWindows / Team Developer applications expect, adapted onto standard .NET data access.

COM / ActiveX & DDE

Restores COM, ActiveX, and DDE interoperability so existing integrations keep working without being rewritten.

Visual ToolChest & QuickObjects

Implements the Visual ToolChest and QuickObjects libraries using native .NET controls and classes — with no proprietary controls.

Legacy Reports, Modern Engines

The framework maps legacy report definitions onto today's reporting engines, so existing reports render through a modern tool of your choice.

Legacy Reporting

Gupta Report & Team Developer report definitions
Mapped by PPJ

Modern Reporting Engines

Crystal Reports .NET
SQL Server Reporting Services (SSRS)
Stimulsoft
Combit List & Label

One Framework, Two Targets

The same functional areas and namespaces are kept consistent across both implementations, so the choice of target does not change how the application behaves.

Web — Wisej.NET

Targets full-stack web applications built on Wisej.NET, delivering the ported application as a modern, browser-based cloud app.

Desktop — WinForms

Targets native Windows desktop applications on WinForms, keeping the application on the desktop while running on .NET.

Thin by Design

A Lightweight, Modular Architecture

The framework's architecture is deliberately very thin: most of the low-level work is left to .NET, while PPJ provides the plumbing code, adapts parameters, and checks for errors. It is a set of separate, strongly-named assemblies.

Applications reference only the assemblies they need. Unused modules — such as DDE or a particular reporting engine — are simply never deployed, keeping the footprint small.

Separate, strongly-named .NET assemblies
Deployable via XCOPY or the GAC
Reference only the modules an application uses
Per-engine reporting assemblies kept independent
Consistent namespaces across Web and Desktop

Learn More About the Framework

The PPJ Framework is the foundation that makes risk-free migration possible. Dive into the technical documentation, or talk to us about modernizing your application.