ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

Mixing RPG team with Java team on IBM i

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mixing RPG team with Java team on IBM i

    Hi.

    Does anyone have any experience to share on letting a Java team develop parts of a system using Java & JT400 sharing the same database on IBM i as the original RPG system?

    The RPG system is a rather large financial system, 20+ years old with a majority of RPG III, but also some RPG IV fixed and ILE RPG free. The RPG team is hard to scale to match increasing business demands. The company also has many Java teams that could be used to develop some of the functionality in Java. It is not realistic to build a team of "full stack" developers doing both Java and RPG.

    My concern is that these teams probably would end up working in silos, not able to work across both Java and RPG. Also a loss of control since the codebase of this monolithic system would be spread across multiple languages and runtime environments (still sharing the same DB).

    Any thoughts? Anyone knows someone that has done something similar?

  • #2
    I have experience with this. When I joined my company many years ago, I was a pure RPG/CL developer but was promised the opportunity to learn Java. I started off working with the Java team as the RPG developer that would expose business logic for the team or write utilities for them. Eventually I crossed over and coded more Java than RPG. Now I rarely code RPG, but will dig into programs to investigate.

    Unless your Java team already knows how to navigate the IBM i, I'd suggest finding an RPG person to learn a little bit of Java and help out the Java teams.

    Comment


    • #3
      My previous position had been doing this for the last five years with mixed success. You don't necessarily need to make all developers full stack, but have integrated teams of mixed skillsets and especially for the RPG developers, upskilling in both languages will definitely make it easier. The teams that were integrated together worked well, but the one language only teams were definitely in a world of their own.

      If there is room to modernize the fixed format/RPG III code into free format, this will help the Java developers as most of them can easily understand business logic in free format without a great deal of training.


      Comment


      • #4
        Thanks Java_RPG_Guy and Ghost.

        We have a couple of developers doing both RPG and Java, and we have Java teams developing web frontend applications that integrates with the RPG system using web services. This works pretty well.

        The question is if it would be a good idea to take this even furter - develop core functionality in Java using the database directly. Let's say there is a need for a major refactoring of a batch calculation of some kind. Instead of waiting for RPG resources to become available, one could replace the existing RPG batch job with a new one written in Java using the IBM i DB2 directly.

        I agree that developers knowing both languages would make things a lot easier. I wonder if there are other technical pitfalls, like record locking, transaction management, etc. And managing two source code repositories, releases, deployments etc.

        Comment


        • #5
          I think it is absolutely a good idea based on my previous experience.

          There shouldn't be any more issues with record locking between the two languages than with just the RPG handling. The real complexity is not replicating processes across both languages as this will slow your teams down. Also remember that both languages can work with each other so encourage that.

          Comment

          Working...
          X