raincode rect

Version 6.0.27.0

Introduction

This document is divided into six sections: About Raincode, Manuals, Licensing, Raincode 360, Support and Release notes.

About Raincode ®

Raincode is a dynamic software company and a market leader in developing and distributing a unique suite of world-class software products, spanning programming language analysis and transformation tools. Its core competencies include software metrics, quality control, coding guidelines enforcement, and migration solutions.

Founded in September 1998, it is a privately owned company specialising in language processing, compilation, and software migration. As a cutting-edge innovator, it actively develops and markets many advanced products and solutions. These products have been used proficiently in several projects, for which Raincode sometimes provided expert staff.

Product portfolio

  • PL/I logo

  • COBOL logo

  • ASM370 logo

  • JCL logo

  • zTrieve logo

  • IMSql logo

  • QIX logo

Raincode Crossbow

Raincode Crossbow is a consistent release of the entire Raincode product line, covering compilers, emulators and ancillary tools.

In practice, Raincode Crossbow is designed with three driving forces:

  • A focus on performance across the board:

    • The internal computation engine for non-binary numeric data types (display numeric or packed decimals) has been entirely overhauled, resulting in performance improvements that can go up to a factor of 5 (depending on the level of dependence on these non-binary data types)

    • The file I/O layer has been optimized to ensure the best possible performance when dealing with indexed or sequential files

    • RadaR is a revolutionary solution to run batch steps 5 to 10 times faster, without changing the application source code or even the JCL they are called from

    • The Visual Studio plugin now runs the heaviest debugging operations asynchronously, thereby dramatically improving response time and the overall user experience, even when debugging programs with hundreds of active variables

    • The views generated to access VSAMSql and IMSql data using plain SQL DML statements have been optimized dramatically

  • Updated .NET platform support running both on Linux and on Windows, on virtual machines or in containers, on the cloud, on laptops or servers managed on premise.

  • Consolidation of the product suite, allowing all Raincode software to be built and upgraded synchronously, thereby avoiding the headaches that come from multiple products that follow different (and sometimes, incompatible) release cycles.

Version 6.0

In addition to the above description, Raincode Crossbow v6.0 (see release notes) is a technical release that includes the following:

  • Support for .NET 10.0 and SQL Server 2025 across the board.

  • The Visual Studio plugin now supports Visual Studio 2022 and 2026, with improved support for JCL debugging.

  • Support for the File-AID JCL utility.

  • Support for TLS encryption on QIX and IMS TN3270 terminal servers.

  • Removal of support for .NET Framework and .NET 6.0.

  • Removal of support for Microsoft Host Integration Server (HIS) for Db2.

  • Removal of 32-bit support.

Raincode Manuals

Raincode Public API

Licensing

Raincode provides three types of licenses for using products such as Raincode Compilers, JCL, and Tools:

  • Demo License: With this license type, the compiler/runtime will stop functioning immediately upon expiration, intended primarily for demonstration purposes.

  • Production License: Under this license, the product will continue to operate after expiration, except that the compilers will be disabled.

  • Free access License: A grace period of 30 days is provided after the expiration date.

Tools refer to multiple products, including Record Editor, SORT, QIX, IMSql, VSAMSQL, and zTrieve.

Licensing consists of the following fields:

  • License key file:

    • Include field

      • Customer name,

      • Location,

      • Expiration date (or never expire),

      • list of products and options: PL/I, ASM, JCL

    • A signed field built on the data field content

    • If any field is modified, the signature becomes invalid.

When a product, like a compiler, JCL, or Tools, starts, it follows a specific process to search for a valid license file. Below is the step-by-step method for handling licensing:

  • When a product starts, it searches for a valid license file (.rclic) in the directories named in the following environment variables: RCLICENSEDIR, RCDIR and PLIRCDIR.

  • The product continues when a fully valid (valid signature, date not expired and required option found in the file) is found.

  • If NO license is found or not correctly signed, including the required option, the product generates an error message and stops.

  • If at least one correctly signed, including the required option, is found but all of them are expired:

    • An error message is displayed

    • If the expiration is over 30 days, the product freezes for 5 minutes and then continues.

If PL/I and ASM are compiled programs, a warning will be issued for a demo or development license. However, with a production license, there won’t be any issues, and the program will continue working.
All Raincode products will require an activation key except the COBOL compiler.
Customers are encouraged to manage their production licenses carefully.

Third-party license

Details on third-party software licenses used within Raincode products.

Product Notes URL License License URL

SQLite

Mainly compile-time

https://www.sqlite.org/index.html

Public domain, bespoke

https://www.sqlite.org/copyright.html

.NET

Target platform

https://dotnet.microsoft.com/en-us/download/

Open source

https://dotnet.microsoft.com/en-us/platform/free

LZ4

Compression, compile-time only

https://lz4.github.io/lz4/

BSD

BouncyCastle-Ext

Cryptography

https://www.bouncycastle.org/csharp/

Modified Adapted MIT X11 License

https://www.bouncycastle.org/csharp/licence.html

dlmalloc

Allocation library, compile-time only

https://gee.cs.oswego.edu/dl/html/malloc.html

Creative commons, public domain

http://creativecommons.org/publicdomain/zero/1.0/

Newtonsoft.Json

JSON parsing and serialization

https://www.newtonsoft.com/json

MIT

Wix

Installer

https://wixtoolset.org/

MS Reciprocal License

https://wixtoolset.org/docs/about/license/

Autofac

Control inversion, to be phased out

https://autofac.org/

MIT

FluentFTP

In the FTP client included in Raincode JCL

https://github.com/robinrodricks/FluentFTP

MIT

Azure SDK

https://github.com/azure/azure-sdk-for-net/

MIT

Ben.Demystifier

Used in the Visual Studio plugin

https://github.com/benaadams/Ben.Demystifier

Apache-2.0

C5

https://github.com/sestoft/C5

MIT

EntityFramework

https://learn.microsoft.com/en-us/aspnet/entity-framework

MIT

Visual Studio SDK

https://learn.microsoft.com/en-us/visualstudio/extensibility/visual-studio-sdk?view=vs-2022&WT.mc_id=visualstudio_extensibility_aka_VSExtensibility

Microsoft software license terms

https://www.nuget.org/packages/envdte/17.12.40391/License

IBM Db2 .NET connector

Used to connect to Db2 databases (Windows and Linux)

https://www.nuget.org/packages/Net.IBM.Data.Db2

bespoke

https://www.nuget.org/packages/Net.IBM.Data.Db2/8.0.0.300/License

JetBrains.Annotations

Used in the Visual Studio debugger extension

https://www.jetbrains.com/help/resharper/Code_Analysis__Code_Annotations.html

MIT

JetBrains.Profiler.Api

https://github.com/JetBrains/profiler-api/blob/master/README.md

Apache-2.0

JetBrains.Profiler.SelfApi

https://github.com/JetBrains/profiler-self-api/blob/master/README.md

Apached-2.0

MailKit

Used by the SMTPMAIL batch utility

http://www.mimekit.net/

MIT

MimeKit

Used by the SMTPMAIL batch utility

http://www.mimekit.net/

MIT

Mono.Cecil

Used in the Visual Studio debugger extension

https://github.com/jbevain/cecil/

MIT

Mvp.Xml

https://clarius.org/Mvp.Xml

MIT

Mvp.Xml.NetStandard

https://github.com/keimpema/Mvp.Xml.NetStandard

BSD-3-Clause license

Npgsql

Used to connect to PostgreSQL databases

https://github.com/npgsql/npgsql

PostgreSQL license

Oracle.ManagedDataAccess.Core

Used to connect to Oracle databases

https://www.oracle.com/database/technologies/appdev/dotnet.html

bespoke

https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/23.6.1/License

SSH.NET

Used in the RCFTP batch utility

https://github.com/sshnet/SSH.NET.git

MIT

WPF-UI

Used the Visual Studio plugin

https://github.com/lepoco/wpfui

MIT

OpenTelemetry

https://opentelemetry.io/

Apache-2.0 license

Microsoft.ApplicationInsights

https://learn.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview

MIT

DISAM

Used in rcextfh, to access indexed files

https://www.isam.ca

bespoke

https://www.isam.ca/?page_id=130

Raincode 360

Raincode 360 is an advanced showcase enabling you to test IBM® mainframe applications in a cloud environment without taking risks or financial commitments.

The Raincode 360 is deployed as an Azure application and offers a hands-on introduction to the Raincode product suite. It incorporates sample code, development projects, data, tools, compilers and a guided presentation.

It is available at Azure Marketplace to download and set up for your exclusive usage in just a few clicks.

Raincode 360 includes a presentation guide (PDF) that provides all the technical details for the demos. It contains an introduction, demo execution instructions, and expected output. A shortcut for the guide, named Raincode 360 Manual (local) is placed on the Raincode 360 desktop.

Support

Below is the form to request the support for Raincode products.

Release notes