• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • VS Code Is The Full Stack IDE For IBM i

    March 15, 2023 Jeff Tickner

    Back in January, we talked a bit about the rise of the VS Code integrated development environment that was open sourced by Microsoft back in 2015 and that has been increasingly adopted by developers on all kinds of platforms, not just Windows Server. This week, we want to talk about the new features we are exposing in VS Code for users of the application development tooling available from ARCAD Software.

    First of all, we have brought the cross reference information in our ARCAD Observer tool into VS Code in a way that developers can access the object-level and field-level relationships directly in the code while they have their source code open. We call this a “code lens,” which is a term used in the VS Code tools, and with it they can see the relationships between objects or fields, and many other useful tips such as file declarations, procedure usage, procedure declarations, and more.

    ARCAD for DevOps (VS Code interface) – Procedure declaration “code lens”

    For example, if I’m using a table in a program, in the code itself from inside the editor I can drill in and see the information about that table and see what else it uses and see what other fields are there. So, I have complete transparency to all of the objects around me. And that’s based on the ARCAD metadata repository.

    This repository is at the core of all of our tools, and building on top of this metadata repository is one of the things that makes the ARCAD stack different. It is a very powerful distinction. For instance, we have a new personal build feature that is in VS Code, and when developers are done working on their code and they want to build their changes, the build uses that metadata repository to manage all of the dependencies automatically. And to make that build function as easy to use as possible, we actually create all of the infrastructure behind the scenes automatically. And what that means is, unlike other build tools that are available, where I have to do a lot of configuration for the build to work, when I start a project using ARCAD plus VS Code, I automatically get all of the build infrastructure automatically on the target server.

    On the development server, I get a library for the results of the build a unique place that I can use for my personal build. If my code isn’t quite ready for primetime, I’m not bothering anybody else. So it’s a classic use of the sandbox concept from Git. But I don’t have to do any work to set this up – ARCAD is doing that for me, all automatically.

    And when I am ready to share my changes to the code – after I have done my unit testing in my personal build library – I can then push my changes or merge my changes forward into a common branch that other people are working on. And then another build happens automatically. And now other folks can see my changes integrated with their changes. So it’s a very efficient way for the developer to work in Git.

    We are focused on VS Code in this discussion, but that integration with Git that we provide means that I can have developers working from VS Code working along with developers using other interfaces such as Rational Developer for i (RDi) or even in greenscreen 5250, all on the same project, all working on our own separate branches of the application code. We merge into a common branch and sharing our work there. Developers can work in the interface they are comfortable with, and ARCAD’s Git integration allows for very easy collaboration and integration.

    ARCAD started in the greenscreen world more than 30 years ago, and we were a greenscreen company first. And then came Rational Developer for i, and nine years ago we introduced integration with source control. We have been able to support VS Code through the Git management for a while, but now we are exposing our functions into VS Code.

    Because of that integration, we have also exposed the structure of the project management system in VS code as well. What that means is that I can see the results of my build, of course, but I can also see what other people are working on. Even if different developers are working in different tools, I can go out and see the results of those projects being coded using other tools. I don’t have to leave VS Code to do that. I can just go down into my navigation view and see what my coworker is working on and what they are changing in the code.

    We have been offering concurrent development for IBM i shops for a while. But when we started working with source control almost ten years ago, that’s when we got our hands on better tools for concurrent development. In traditional change management, there’s always been some support for concurrent development. But there’s always the danger of overwriting someone else’s changes. If somebody else is working on this, you should merge your changes in. But it’s never known if you did or not, because it’s not managing down at the line – and Git manages at the line. It knows if you merge those changes in it. So with concurrent development, I’m not going to overwrite someone else’s changes, I’m going to merge the changes in so we get no overwrite. And the way we normally are configured, as soon as I say, I want to integrate my changes with somebody else’s, we’re going to automatically compile that.

    The first threshold for all application development after you make changes is: Will this compile? The first thing the ARCAD tools do is to compile code and find out if it works. And because it compiles, the result of the build is automatically shoved into the testing environment. It is always put into a unique build library for that branch. You can use our unit testing tool, which can automatically unit test, or you can go to that build library and do your own unit testing. After that, you can promote into quality assurance and find out if it really works by doing some functional testing.

    ARCAD for DevOps toolstack on IBM i

    So we have a potential here for very efficient development on the IBM i platform through VS Code and the ARCAD stack. But one of the challenges we run into with our customers is we offer them continuous integration and continuous deployment, which leverages all of this automation. But a lot of them don’t use this automation because they’ve been burned in the past. They’ve had people dump crud into QA and break everybody else’s testing.

    The automatic unit testing and automatic peer review from the ARCAD stack is very powerful, and one of the other things that we brought to VS Code is our Code Checker tool. Code Checker is essentially a code parser, where I can apply rules. And so I can go and look for techniques or functions that I don’t want my developers to use. I can look for security problems, like a very open ended use of SQL that is a potential security issue. If the programmers is passing around an SQL command as a parameter, that’s a security problem because I could then call that program with my own SQL string, and have it do things it shouldn’t.

    One of the things that we want to mention is that the functionality extension from ARCAD into VS Code is an offshoot of our adding our functionality to Merlin, which is IBM’s cloud-based IDE for IBM i development. We can think of VS Code as kind of a local version of Merlin. As we provide our functionality to IBM for the Merlin tool –when you buy Merlin from IBM, you’re buying the ARCAD build process and the Transformer for RPG, the modernization of RPG, and so on. And so they’re driving us to add more functionality. And when we add it to Merlin, 99 percent of the time that functionality will be ready for VS Code.

    VS Code has to be managed locally on the developer’s workstation. The code is local. And that actually has been a sticking point for some customers that don’t want the folks offshore to have all the code locally. They would prefer that it remain on the server. Somebody has to install VS Code and manage it locally, and when I want to work on the code, I pull all the code down to my workstation. And Merlin is purely cloud based. The code doesn’t go anywhere. That’s why people want Merlin: Because they don’t want to manage the workstations of people offshore. Or they want Merlin because they have lots of users – we have customers with literally thousands of developers and it is a real pain to manage an IDE across thousands of workstations.

    But for most IBM i shops, these are not the issues. Flexibility is. If I am controlling VS Code locally, I can extend VS Code myself. It already has a Java editor and now I can have a PHP editor and I can extend it out for other languages that VS Code supports. So that’s the beauty of VS Code: People have built all of these extensions, like Code for IBM i, and you can pick and choose as you need to.

    As such, VS Code is a tool for a full stack developer. And if part of your stack is on the IBM i platform, now you can work directly in VS Code on that full stack. VS Code is the true full stack tool for IBM i shops.

    To find out more, see:  [IBM i Webinar] Roundtable Webinar series, Demystifying DevOps on IBM i

    Jeff Tickner is chief technology officer for North America at ARCAD Software.

    This content is sponsored by ARCAD Software.

    RELATED STORIES

    Realizing The Promise Of Cross Platform Development With VS Code

    If You Aren’t Automating Testing, You Aren’t Doing DevSecOps

    The Lucky Seven Tips Of IBM i DevSecOps

    Git Is A Whole Lot More Than A Code Repository

    Learning To Drive Fast On The DevOps Roadmap

    Expanding Fields Is A Bigger Pain In The Neck Than You Think

    Value Stream Management: Bringing Lean Manufacturing Techniques To IBM i Development

    Unit Testing Automation Hits Shift Left Instead of Ctrl-Alt-Delete Cash

    It’s Time For An Application Healthcheck

    The New Economy Presents New Opportunities For IBM i

    Creating Web Services APIs Can Be Easy On IBM i

    Jenkins Gets Closer IBM i Hooks, Courtesy Of ARCAD

    DevOps Transformation: Engage Your IBM i Team

    The All-Knowing, Benevolent Dictator Of Code

    Software Change Management Has To Change With The DevOps Times

    Attention Synon Users: You Can Automate Your Move To RPG Free Form And DevOps

    Git Started With GitHub And ARCAD On IBM i

    One Repository To Rule The Source – And Object – Code

    Data Needs To Be Anonymized For Dev And Test

    Getting Progressive About Regression Testing

    Transforming The Art Of Code And The Face Of IBM i

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags: Tags: ARCAD Software, Git, IBM i, IDE, Java, Merlin, Rational Developer for i, RDi, RPG, SQL, VS Code

    Sponsored by
    ARCAD Software

    New Podcast Dedicated To IBM i DevOps!

    The topic of this IBM i DevOps TechTalk is “Moving to Git.” It features Jeff Tickner, Ray Bernardi, and Alan Ashley as they discuss what is Git and how to best use Git with the IBM i. Listen in for tips on:

    • Key Git Advantages
    • Git Considerations for a successful implementation
    • Working with branches and automated merges
    • Getting started and ARCAD’s Centralized approach

    Listen NOW

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Domino Runs on IBM i 7.5, But HCL Still Working on Power10 Unattended IBM i Operations Continue Upward Climb

    Leave a Reply Cancel reply

TFH Volume: 33 Issue: 15

This Issue Sponsored By

  • Maxava
  • ARCAD Software
  • Raz-Lee Security
  • WorksRight Software
  • Manta Technologies

Table of Contents

  • Unattended IBM i Operations Continue Upward Climb
  • VS Code Is The Full Stack IDE For IBM i
  • Domino Runs on IBM i 7.5, But HCL Still Working on Power10
  • Four Hundred Monitor, March 6
  • IBM i PTF Guide, Volume 25, Number 11

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • IBM Tweaks Some Power Systems Prices Down, Others Up
  • Disaster Recovery: From OS/400 V5R3 To IBM i 7.4 In 36 Hours
  • The Disconnect In Modernization Planning And Execution
  • Superior Support: One Of The Reasons You Pay The Power Systems Premium
  • IBM i PTF Guide, Volume 25, Number 13
  • IBM i Has a Future ‘If Kept Up To Date,’ IDC Says
  • When You Need Us, We Are Ready To Do Grunt Work
  • Generative AI: Coming to an ERP Near You
  • Four Hundred Monitor, March 22
  • IBM i PTF Guide, Volume 25, Number 12

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2023 IT Jungle