Loading...

Migrating iSeries (AS/400) Legacy Applications to Azure

Migrating iSeries (AS/400) Legacy Applications to Azure

The platform was first introduced as the AS/400 (Application System/400) on June 21, 1988 and later renamed to the eServer iSeries in 2000. The IBM System i is IBM's previous generation of midrange computer systems for IBM i users, and was subsequently replaced by the IBM Power Systems in April 2008.

 

One feature that has contributed to the longevity of the IBM System i platform is its high-level instruction set (called TIMI for "Technology Independent Machine Interface" by IBM), which allows application programs to take advantage of advances in hardware and software without recompilation.

The AS/400 has been a very robust platform in the past decades, offering the compatibility mentioned above, which has allowed customers to keep building up their legacy applications with no or minimum migration effort involved.

 

But times have changed.

 

Now, one of the biggest decisions IT managers have to make is how and where to run data center applications in order to lower costs and increase business agility.

 

There are multiple options, including server virtualization, internal clouds, public clouds, and external private clouds.

 

Skytap and Microsoft just announced a new collaboration to bring Skytap’s IBM POWER-based cloud service to Microsoft Azure.

 

Once running on Azure, legacy applications can be enhanced with web services, mobile capabilities, AI and IoT. Legacy workloads will seamlessly span old and new hardware and software architectures, giving the ability to extend the life of traditional systems and increase their value by modernizing with Azure services.

 

One important argument to move out of proprietary hardware and software platforms is that applications have been developed using legacy programming languages like RPG and COBOL, and programmers with these skillsets are retiring.

 

The new generation of software programmers don’t know RPG nor COBOL and are not interested in knowing them at all. Nowadays, they graduate from school knowing modern web technologies used by large software companies like Microsoft, Google, Facebook and Amazon. Such technologies include JavaScript, NodeJS, PHP, React, Angular, SQL Server, Cosmos DB and MySQL, to name a few.

 

AS/400 RPG and COBOL, like any other proprietary programming languages, use other software tools developed exclusively for running on their native platform, in this case, the AS/400, such as DDS (Data Description Specifications) to design screen formats as well as data files (physical and logical).

The screen format specifications allow programmers to embed business rules into the screen format itself, making it tightly coupled to the business rules. If at the same time, the RPG or COBOL code contain more business rules, that makes applications even more complicated to maintain.

 

All of these technical issues are contrary to the modern development practices, where the functional, independent-object approach is applied to the different layers of the development cycle: user interface (UI), web server and database. Each layer should be independent of the rest of the application.

 

“Low Code” development tools like SYNON(CA 2E) or LANSA have been used to build legacy applications for the iSeries platform, designing the applications in their respective IDEs but generating at the end RPG or COBOL code.

 

And finally, the most of the legacy systems were big monoliths, running either as a single process or a small number of processes spread across a handful of servers. They have slow release cycles and are updated relatively infrequently. At the end of every release cycle, developers package up the whole system and hand it over to the ops team, who then deploys it and monitors it.

 

Today, these big monolithic legacy applications are slowly being broken down into smaller, independently running components called microservices. Because microservices are decoupled from each other, they can be developed, deployed, updated and scaled individually. This enables you to change components quickly and as often as necessary to keep up with today’s rapidly changing business requirements.

 

Microsoft has built an ecosystem of partners who can provide a specific solution for AS/400 users, based on their current requirements and needs:

 

  1. Lift-And-Shift. RPG, COBOL and CL applications are migrated and executed in a very similar environment as the AS/400. It takes few weeks to move applications and data to Azure. The applications can still be maintained in their respective legacy source code, or in the converted code which is C for business rules, and JAVA for User Interface.
  2. Modernization. The RPG/COBOL/CL/SYNON/LANSA source code or specs of the legacy applications is transformed into either JAVA, C#, PHP or Javascript. In the case of SYNON/LANSA, the migration is done based on the application specs, not from the RPG/COBOL code generated by those tools.
  3. Migration of DB2 databases (including any physical and logical files) to Cosmos DB, Azure SQL, SQL Server, MySQL, MariaDB or any other relational database.
  4. Implementation of microservices, containers and orchestrators.

 

Migrating iSeries (AS/400) Applications to AzureMigrating iSeries (AS/400) Applications to Azure

 

At the end, the customer can choose which operating system (Windows, Linux), Web Server (NodeJS, IIS, Apache) and database (SQL Server, Azure SQL Database, MySQL, MariaDB) they want to use.

 

The retirement of RPG/COBOL programmers won’t be an issue anymore. Both development teams, RPG/COBOL and JAVA/C#/C/PHP/Javascript programmers, can work together to maintain the applications and do the knowledge transfer easily.

 

Advantages:

 

  • Reduce hardware and software infrastructure costs
  • Modernize legacy source code, user interface and databases
  • Improve the maintenance and deployment of the converted applications
  • Smooth transition from the AS/400 to Azure

 

For more information, please contact the AS/400 Division at the Azure Global CAT Engineering team.

Published on:

Learn more
Azure Global articles
Azure Global articles

Azure Global articles

Share post:

Related posts

Azure Toolkit for IntelliJ: Introducing the enhanced Java Code Quality Analyzer!

Discover the latest updates to the Azure Toolkit for IntelliJ, featuring an enhanced Java Code Quality Analyzer to help you write cleaner, saf...

1 day ago

Azure Boards + GitHub: Recent Updates

Over the past several months, we’ve delivered a series of improvements to the Azure Boards + GitHub integration. Whether you’re tracking...

1 day ago

Introducing the Azure MCP Server

This post introduces the Azure MCP Server, bringing the power of the cloud to your AI agents. The post Introducing the Azure MCP Server appear...

2 days ago

Azure OpenAI Service now authorized for all U.S. Government data classification levels

In the coming years, artificial intelligence will continue to be foundational to technical innovations for national security missions. Already...

3 days ago

GPT-4.1 is now available at Azure AI Foundry

Azure AI Foundry and AOAI (Azure OpenAI Services) keeps on getting better all the time! The latest addition in Azure AI Foundry (as of April 1...

4 days ago

Introducing Region Selection in Azure Cosmos DB Data Explorer for NoSQL Accounts

You asked—we delivered! Users can now manually select the region Data Explorer sends requests to! When you use Entra Authentication with NoSQL...

5 days ago

Microsoft Attempts to Fix Microsoft Graph PowerShell SDK Problem with Azure Automation

V2.26 and V2.26.1 of the Microsoft Graph PowerShell SDK were low-quality, buggy disasters. Microsoft aims to fix the problem in the next versi...

5 days ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy