Why is RPG a good language for webservices?

RPG is a strong candidate for developing web services on the IBM i platform, particularly due to the language's recent advancements and the platform's robust integration capabilities. The following points illustrate why RPG is well-suited for web services:

  • RPG (Report Program Generator): RPG can be used to create both SOAP and RESTful web services. With the introduction of free-form syntax and modern features, RPG has become more versatile for web development.
  • Integration with IBM i: RPG is natively supported on the IBM i platform, allowing seamless integration with DB2 for i and other system resources. This makes it easy to access and manipulate data stored on the system.
  • Modern RPG Features: With the introduction of free-form syntax in RPG IV, the language has become more modern and easier to read and write. This makes it more approachable for developers familiar with other programming languages.
  • Web Service Support: RPG can be used to create both SOAP and RESTful web services. IBM provides tools and frameworks, such as the Integrated Web Services (IWS) feature, that allow RPG programs to expose their functionality as web services.
  • Interoperability: RPG can interact with various web technologies, including JSON and XML, which are commonly used in web services. This allows RPG programs to consume and produce data in formats that are widely accepted in web applications.
  • Existing Business Logic: Many organizations have a significant amount of business logic already implemented in RPG. By exposing this logic as web services, organizations can leverage their existing investments while modernizing their applications.
  • Development Tools: IBM i provides development tools and environments, such as Rational Developer for i (RDi), which support RPG development and can facilitate the creation of web services.
  • Performance: RPG is optimized for performance on the IBM i platform, making it suitable for high-volume transaction processing, which is often required in web service applications.

So, is RPG the only choice?

RPG is a robust choice for crafting web services on IBM i. However, selecting the right technology also demands a careful evaluation of the project's unique needs, the development team's expertise, and the system's overarching architecture.

  • Data Access: Exposing RPG programs as web services to allow external applications to access and manipulate data stored on the IBM i.
  • Integration: Integrating legacy RPG applications with modern web applications or mobile apps through web services.
  • Microservices Architecture: Using RPG to build microservices that can be deployed and scaled independently.
  • RPG is obvious - but what other languages could we use?

    BUT - use the best language for the gig!

    • CL (Control Language): While CL is primarily used for job control and system commands, it can be used in conjunction with other languages to manage web service calls and workflows.
    • Java: Java is a popular choice for web services on IBM i. It supports both SOAP and RESTful web services and can leverage frameworks like Spring and JAX-RS for building web applications.
    • PHP: PHP is supported on IBM i and can be used to create web services. It is particularly well-suited for web development and can easily handle JSON and XML data formats.
    • Node.js: Node.js can be run on IBM i, allowing developers to create modern web applications and services using JavaScript. This is particularly useful for building RESTful APIs.
    • Python: Python can also be used on IBM i, especially with the help of tools like PASE (Portable Application Solutions Environment). It is suitable for creating web services and can work with various web frameworks.
    • .NET (C#): With the use of IBM i Access for Windows and other integration tools, .NET applications can interact with IBM i systems, allowing for the development of web services in C#.
    • HTML/CSS/JavaScript: While not server-side languages, HTML, CSS, and JavaScript are essential for creating the front-end of web applications that may consume web services hosted on IBM i.
    • COBOL: It's an oldie but a goldie. COBOL can also be used to develop web services on IBM i. Similar to RPG, COBOL programs can be exposed as web services using IBM's Integrated Web Services (IWS) feature.

    The selection of a programming language typically hinges on the development team's existing skills, the project's particular demands, and the necessity for integration with other systems. 

    Every language possesses unique advantages, and it's common for organizations to employ a mix of languages to construct resilient web services.

    So - which way will you go?

    {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
    >