Video: Leverage COBOL with GenAI, VS Code, and DevOps | Duration: 3977s | Summary: Leverage COBOL with GenAI, VS Code, and DevOps | Chapters: Welcome and Introductions (10.525s), Housekeeping and Logistics (79.54s), Rocket Software Overview (209.72s), Agenda and Speakers (392.22s), Rocket Cobol Analyzer (487.535s), VS Code Extension (742.035s), Demo Wrap-Up (1208.305s), VS Code Overview (1287.865s), VS Code Navigation (1606.115s), AI Integration Features (2277.88s), COBOL and JSON (2421.845s), DevOps Challenges (2900.78s), Core Platform Features (2999.155s), DevOps Integration Workflow (3101.11s), Live Demo Walkthrough (3222.095s), Quick Quiz Session (3643.745s), COBOL Analyzer Q&A (3727.695s), Quiz Questions (3770s), Quiz and Wrap-Up (3842.575s), Closing Remarks (3905.095s)
Transcript for "Leverage COBOL with GenAI, VS Code, and DevOps": Hi, everyone. How's it going? My name is Sava, and I'm happy to welcome you today on our call session. Would you please let me know in the chat if you can see me, see the presentation, and if the audio is okay? Just maybe last time. It will work. K. Thanks so much. I see that everything is working. As a little tradition, let us know where you're joining from. It's middle of August, so we really, really appreciate that you dedicate some time for Cobo and our demos today. Someone is from Canada. Good good morning. K. A lot of people from The US. I'll wait one more minute for more people to join, and then we will start today. Someone's from Paris. Sounds nice. Few people from Norway. That's super, super exciting. Okay. I think we can start. We will dedicate some time for housekeeping and some information about Rocket Software, and then we'll proceed to the topic of today's session on how to leverage Cobo with Jet AI, BS, cloud, DevOps, and also JSON. Just to make sure that today's session is goes as smooth as possible for everyone, first of all, we will be recording today's session, and we will distribute the recording tomorrow. So you can watch it again, you can share it with your team, and you can let us know or your account manager know if you have any questions. Second, we would like the session to be as interactive as possible. Please use q and a tab. It's right next to the chat tab for the questions, and ask the questions to all of our speakers who have some time in the end to answer them. And if there will be more question that we can cover, we will make sure to dedicate some time at the end of today's session. And last but not least, at the end of the hour, there will be a short post event survey. It will be a few questions to which so you can share your feedback on the session, share your ideas for the next webinars, and basically help us to make these events as valuable for you as possible. Another thing I want to mention is Rocket Forum. So this is a dedicated place, community for all Cobo enthusiasts. You can find all the guidelines, full demos, and tricks. You will find the presentation of today's session there, next week. You'll find quiz winners there as well. So please, join our forum, and it's very, very active. People are asking questions, talking to others, and talking about COBOL twenty four seven. So, yeah, if you have any questions or anything to kinda discuss with the broader team or broader community, make sure to join the forum. There will be a link, in the chat, and there is a QR code on the screen. So feel free to use any of those. And then few slides about Rocket Software. So Rocket Software is a pioneer of software modernization. We have more than 3,000 rocketeers working in the company at the moment. We have 18 global offices all over the globe from Australia to The US. We have more than 2,000 software engineers at our team at our company. And this is something we're especially proud of that our company is, like, engineering driven, and we understand what challenges and context our customers are going through and provide them with solutions and tools rooted in the context of soft modernization. And then we have more than 750 partners and more than 12,000 customers. Of course, thanks to everyone who is using Rocket Software products. And our goal here at Rocket is to provide you with tools so you can perform modernization without business disruption. We understand that there are no two similar or, like, equal businesses, and there is no the same modernization journeys. So we are here to meet you wherever you are in your modernization path. And this means that if you're only thinking about modernization or in progress or think think about a new iteration, you can always reach out to us and let us know what you're working on, what are your business goals, and we are here to help you with our solutions. And last thing I want to share with you before we proceed to the main agenda of today's session is that this year, Rocket Software was named the challenger in not one but 02/2026 Gartner Magic Quadrant reports. This is a huge deal for us and for the market. And in both of those reports, our Rocket Software products are featured. So the first magic quadrant is for technical debt management tools. Debt management is a big topic for social organization. You can see that estimate loss is $1,500,000,000,000 annually for those who dealing with, technical debt. And we have, Rocket Software analyzer in our portfolio that helps you to evaluate and basically address, technical debt in your COBOL code basis. And today, we will see the demonstration by Jay, our colleague, who will show you how to use Rocket Software analyzer for some of the tasks. And then the second major quadrant is for AI augmented code modernization tools. This one features Rocket Software Visual Cobble and explains how to modernize your code and how to modernize your Cobble applications with Rocket Software Visual Cobble. We actually have license for the second report, so we can distribute it to you without any, like, Gartner subscription. So if you want to read the full report for AI augmented code modernization tools, reach out to your account executive, and they will share them with you. It's the first magic order for this category, and we are super proud to be featured there at at the long other, software companies. And then for today's session, what is, ahead of us? So the first thing, we'll start with Rocket Software Cobble analyzer and Gen AI demo, then we will proceed to Rocket Software Visual Cobble and Visual Studio Code, then Rocket Software Cobble and JSON, Rocket Software Cobble DevOps. We're gonna have short quiz at the end based on the demos and, basically, the whole webinar. And final last but not least, we will have a q and a. And I would like to welcome all the speakers of today's session because we're gonna have, like, the whole team basically supporting today's webinar. It's, definitely a team effort, and I would like to take a few minutes for everyone to meet them. Hi, everyone. So, yeah, this is Brian Crane. He's principal sales engineer. And, basically, he is the head behind the whole global matching series that we're sharing kind of forum. This is Harry Molly. He is, customer solutions here. Chase Herman is a sales engineer. Ben Newman is a customer solutions engineer, and Alex Chen is also sales. And today, we're gonna see the demos, made by them, and then you we'll be able to ask them any questions at the end of the month. Hi, everyone. Good luck, and let's let's do this. So as I mentioned, we will start with Rocket Software Carbonalyzer and Gen AI by Jay. He will explain what are the capabilities of Rocket Software Carbonalyzer and GenAI insights in that, and she will show you how to leverage them in your Cobo applications. Let's start. Hello, and welcome to this presentation on Rocket Software Global Analyzer and generative AI, where we will see how the power of robust data driven analytical knowledge paired with generative AI can help deliver quicker results for your business. On the agenda today, there are a couple of slides on a about ten minute, demonstration of the functionalities of Cobalt analyzer. So first, we're gonna go over what Cobalt analyzer and its generative AI capabilities are. Then there's gonna be a brief section on Rocket Software's approach to generative AI and then the demonstration. So what is Cobol analyzer? Cobol analyzer is an analysis engine that we can use to restore lost application knowledge driven by data based on your source code through searches, reports, and diagrams, even for highly complex code and less documented code as well. It helps mitigate the risk of change, whatever that change may look like, from a platform upgrade to a singular data item that needs to be lengthened by a couple of characters without changing anything in the actual source code so that you can make informed plans for your future projects. It is also available from anywhere, thanks to the web client and the high rate of integration with other tools on the market, making it the ultimate tool to bring application intelligence into every stage of DevOps workflows from planning to post deployment management. Version 11, the latest one, of COBOL analyzer, marked the introduction of our generative AI capabilities. The new integration with large language models paired with the powerful analytical capabilities of COBOL analyzer helps driving strong business results faster than ever. One of the key features that you will see during the demonstration and that you can see on the slide right now is the new chat assistant, which functions exactly like a chatbot so that the user can ask questions in natural English language for discovery on the application. This can help flatten the learning curve for the Google analyzer tool and makes it faster to set up as well. In this way, the Cobalt analyzer repository can become a shared resource for all roles across the application development life cycle and not just the analyst, supporting tasks from planning to development to deployment directly. It can also, as mentioned earlier, be accessed via web application, the web client application, as well as the Visual Studio Code interface, thanks to the Rocket Analyzer extension, which is what we will see in the demonstration in just a moment. Before we move on to the demo, a quick word on Rocket Software's approach to generative AI. Our teams have worked on this integration to maximize productivity and minimize the likelihood of what we call AI hallucinations, which essentially is errors made by large language models. This is thanks to the deterministic approach brought in by the nature of Kubernetes' static code analysis functionality, while the large language model provides the generative engine to translate it into English language for the user. This, alongside the flexibility that we offer in the choice of both language model as well as deployment of the model and of Kubel analyzer makes for both faster and safer modernization. Now we're gonna move on to the demonstration. Okay. So here we have the installation of Visual Studio Code with the Rocket Software analyzer extension installed. So what this does is, basically, it allows Visual Studio Code to have a connection directly to the COBOL analyzer repository. So this is the repository that I can see from Visual Studio Code. And if I open analyzer, it's the same repository that I have in here on this pane on the left. So first of all, I'm gonna open this, program. So this is gonna open the program as it is loaded in the repository. So it is a read only version of the program. And one of the first things that I can do is I can right click on any program and click on generate program summary. So what this is going to do is it's going to use the, data, within the COBOL analyzer repository and as well as the LLM that I am connected to, which in my case is, check, GPT five, and generate a summary of information that will let me know what the program is doing, within itself as well as within the application at a glance. Okay. So, here we have a few, paragraphs of, just like conversational English explaining what the program does, as well as, what it does in within the application. So there is a project and maintenance perspective as well that it's, it's, that the the the assistant is giving us. And then it shows me some other information. So the data that you used to so the data that it used to, generate the summary. So some basic attributes, some, table with all the relations that it has. So what copybooks it, includes, what programs it calls, what screens it uses, as well as what files it reads. Then it shows the diagram of those relations that we have just learned about, so that we can see them in a more, like, visual way. Then it shows the pro program control flow diagram. So that is showing us the logic of the program itself at a at a glance, and then it shows us the screens, that the program uses as well. Another thing that we can do, this is from the actual explorer, the Visual Studio Code Explorer, we can select a, file. And this is, an actual editable version of the code because it is not the analyzer repository. We can select a portion of the code. And if we right click, we can ask it to explain the selection. So this opens the rocket analysis assistant, which is equivalent to the chat assistant, in, COBOL analyzer, is not the same as the Copilot chart, because the Copilot chart will only use its own information, so the LLM information to, give us an answer. But this is using the LLM as well as the data within Google analyzer. And so you see it generates an answer, explaining what this portion of code does. So it goes through the copy statement, marking the beginning of the procedure division, the move statements, and the, if, and then the few displays, accept, and so on. And then in summary, it says it tells you what this portion of code does. So, you can access the main analyzer page also from the built in browser within Visual Studio code, but I'm gonna show it directly from, the analyzer page. So, this is the chat assistant in this pane on the right. When you open it, you will see some suggested questions, over here, as well as a help center for the built in commands. But mostly, you can ask questions in English, and it will reply in English. So for example, I am going to ask it using one of the, suggested questions, how many lines of code are in the workspace, And it gives me an answer. And then let's see what else. And there we go. We can, ask it to show a breakdown of the workspace. So this is what the workspace the what the workspace is made out of. We can also run more specific commands, and this is through the slash run command. And then it opens, a menu where you, it gives you all of the options of the next, part of the statement, essentially. So even if you don't know exactly how to run one of the commands, the more advanced commands, it will walk you through it. So it will say what you want to run. For example, we want to run a code search, and then it it will ask you what type of code search, etcetera, etcetera. Another thing that we can do from the chat assistant is asking it to look up something in the docs. So, say, if you type in the forward slash alone, it also gives you the options of what commands you have to run. So we're gonna go with docs. And then you can ask an actual you can fill this in with actual an English description. So I'm gonna ask it how to use itself. And while it's working on a response, this is basically looking up the documentation, for us on our behalf so we don't have to go and run a search in the documentation to look for how to use the chat assistant. There we go. And it gives a pretty detailed option on how to use itself. Thank you for watching this demonstration. A quick word before we close this portion of the presentation. In a few months, we will release version 12 of our Cobol portfolio, which will come with many enhancements to the functionalities that you've already seen today, as well as some new generative AI supported features, such as the unit testing framework, which you can find within our Visual COBOL product or our integrated development environment native for COBOL code. So this was the demo for Rocket Software analyzer and Gen AI capabilities that we introduced last year with Rocket Software 11.0. Thank you for all the questions. We will answer some of them in the chat, and we'll answer them some of them at the end at the q and a. And the next demo will be dedicated to Rocket Visual Cobble and Visual Studio Code, by Ben Newman. It was actually, inspired by the demo we did for one of our customers who wanted to improve their development experience. So let's see how to bring global development to Versus Code, one of the most popular tools out there. My name is Ben Newman. In this presentation, I'll be introducing the rocket Cobalt extension for Visual Studio code and showing how it brings a modern streamlined development experience to Cobalt developers. Let's begin. This presentation will cover what Visual Studio Code is, our Rocket Cobalt extension, debugging and testing, source control using VIM controls within Visual Studio Code, and a touch of AI. Visual Studio Code commonly known as Versus Code is a lightweight yet very powerful code editor designed to support a wide range of programming languages and workflows provided by Microsoft. It It provides features such as debugging, syntax highlighting, intelligent code completion, in addition to version control integration. Versus code offers extensive customization that uses a large library of extensions, which allows developers to adapt the environment to match their workflow. It is to note that v s code is built on the open source code o s s foundation. Before we learn more on what v s code has to offer, let's quickly take a visual look at what v s code could look like. This is a default view of v s code. In the center, we have the script we are currently editing. To the left is where the important navigation occurs. It shows us our file system of the currently open directory. We can also access areas such as the extension library, source control and debugging here. At the bottom of v s code is the integrated terminal, which can have its visibility toward. There are more features that can be displayed to your liking as you explore v s code. Before we dive into what our rocket cole extension is, let's identify what an extension means. An extension is visual studio code version of add ons. They are libraries that provide extra functionality to versus code. Anyone can create extensions and upload them to the extension library. This is because of the open source code o s s foundation. However, this means that extensions can range from supporting different programming languages to visual themes all the way to be able to collect Pokemon within v s code. Our rocket cobalt extension provides support for compiling, editing, and debugging of cobalt source code. Because v s code can be installed on both windows and linux, so too can our extension and it works consistently across both. Some of the features our extension provides are editing support for global code, which also allows smart indenting, syntax colorization, source formatting, and dialect recognition. Compilation support of COBOL code, which also provides support for compiling both Eclipse projects and Visual Studio solutions in addition to custom build scripts. Debugging off Cobalt code with the additional features of debug configurations, breakpoints, watchpoints, inline values, and code stepping. Unit testing can also be integrated using the Rocket Software unit testing framework. The backbone of our extension runs via our global language server. The global language server provides extra functionality including context of web ware code completion, hover pop ups, go to find and peek, collapsible regions, outline view and real time error highlighting. With the use of our extension, v s code gains the ability to debug COBOL programs. It allows for visually stepping through native .net and jvm cobalt. Whilst debugging there are also extra features included such as breakpoints, watchpoints, inline values and debug configurations. Again our extension also provides support for testing cable programs following the Rocket Software unit testing framework A really important part of development is source control Versus code has integrated source control The source control tab is updated when any changes made to any file or directory within the cloned repository. Additionally, for visual feedback, there is a tree graph view that tracks all the commits for each repository. It is also worth noting that you can have multiple repositories open within one instance of Versus code, and that gives you the ability to quickly switch between the repositories that you are working on. To maintain vi key mappings, there is an extension called vim. This extension gives the ability for vscode to use vim controls. These are almost 100% matched to vi controls. Because this is an extension, you could turn it on and off at any time and for any instance of vscode. V s code. Any of your existing controls can be pasted into the vim settings dot json file, and this will ensure your workflow is not interrupted. An advanced feature of v s code is its use of AI. Versus Code uses GitHub Copilot, which is built in. Due to GitHub Copilot being built in, it can directly read files or lines of files and can modify them too. This includes creating and deleting them. It must be noted that AI is not required to be used as part of using Versus Code. It is entirely optional. Additionally, all AI use must follow your company AI policy and usage procedures. With all that said, that concludes the presentation. On screen now is my email address for any questions that may arise. Moving on, let's take a look and dive into what Versus Code can do. When you first open Visual Studio Code, you'll be greeted with this welcome page. On this welcome page, we can create new files, open files or folders. We can open recently opened files, as well as walk throughs that Visual Studio Code provides. Now before we look into anything in development wise in Versus Code, let's go through some basic navigation. At the top here, we've got these tabs, and these provide functionalities that we can use. In the middle, we have this search bar. And again, instead of using this tab, we can search for functions that we want. This can be creating files or capitalizing characters within a file. One of the most important areas of Versus Code are these tabs on the left hand side. This top one, the explorer, is where all of our files and folders will be open once we have populated Versus Code. To populate Versus Code for this, we're going to clone a repository. We're gonna click clone and this search bar pops up. We're gonna need to paste in a URL link of a repository. To do this, I have a GitHub repository prepared. I have this code. I have the HTTPS. You're going to copy the URL. Go back to Versus code. Click clean repository. Paste that in and press enter. This is gonna pop up and it's gonna ask us where we want to clean the repository to. I'm gonna clone it into demos. And now Visual Studio Code is gonna ask us whether they want to open it in this window or another. I'm gonna open it in this one because there's currently nothing open here. Visual Studio Code is then going to pull everything from your repository and bring it into Versus Code. As we can see here in the explorer, we now have populated it with files and folders that were on the repository. Before we start developing even further, we need to install the extension that allows us to develop Cobalt code. To do this, we're gonna come over to the icons here. We're gonna click extensions. This extensions tab is gonna show all the add ons that we have. These ones are installed. Here we have a search bar. We're gonna search rocket. And this Rocket Software Cobalt is the extension that we want to enable us to use Cobalt. We're gonna click the install button here. And we're gonna ensure that it's enabled for visual studio code. Once this has been set, we're gonna go back into our files. We're gonna click the COBOL file. And as you can see for a brief moment, the older text was blue and white. This shows that it was just default text and not using the COBOL compiler provided by Rocket extension. And now that the extension is installed and set up and active, we now have these different colors from the colorization that the extension provides. This helps us to visually see what each part of the file does and where to look. Now to navigate through a file itself, there are many different features that we've got. Primarily, we've got this search bar on the side here. And these scroll bars have the visual representation of what code is on which line. We can scroll through these, and it works as a normal scroll bar. What we also have here is collapsible regions. We can come here to the left, we can collapse the range. So if we're working on large projects, I want to hide everything, or we want to work on a certain section itself, we can just collapse the surrounding. Next. In order to start developing, as of course, we can just start typing as normal. However, for this, we're going to be using the VIM extension. We're gonna go back to the extensions tab. And instead of Rocket Software, we're gonna search for VIM. We're gonna come into VIN again. We're gonna ensure that it's installed. And we're going to enable this. However, I'm going to enable this for the workspace. This means that this instance of Versus code will have the extension installed. If I load Versus code up again, it will not be enabled. So now with the extension enabled and installed, we're gonna go back to our files. And the way we can see that the extension for VIM is installed is down here. We have this normal button. If we click this, we can click to disable the extensions. We can click it again to activate it. So let's go through and develop a little bit of code. We're gonna go through some basic VIM shortcuts. So let's go to line 158. As we can see, once we're typing down here in the bottom shows what key binds we're currently typing. I typed 158GG, this brings us to line a 158. We can come across. We can go into insert mode with I. And we can start typing. For this we're just going to write this is a comment for demo. Pressing escape comes back into the normal mode for VIM. And what we can do here now is we can copy the line with y y. And as we start typing, again to paste these, we're gonna paste it 10 times. We've got the 10, we've got the p, and we can copy and paste it. What we'll also notice here is that these green lines appeared. This indicates that the file has been modified on these lines. If we now save this file, what's going to happen is the source control is gonna be updated. So we can see here that this text has been highlighted differently with an m for modified. Going into source control, we can see that this change is there. Now in order to commit these changes, what we can do is we can stage the change. We can enter a message here. This is a comment on line 158. And we can press commit. This is all it takes to commit changes into our repositories. We can then sync the changes too. This is okay. And this is going to do everything for us within Visual Studio code. What we can also see here is a tree graph. And this tree graph will show all of our permits in the repository that we've currently got open. And up here, we have the different repositories that we can open. However, for this, there is only one. Now that we have developed some code, we have uploaded our changes into our repository. We can now run the applications. For this, let's go back into our file. Ensure that we've got the correct one open. In order to run the file, we can come up here into the top right. We can click this drop down, and we can run the Cobalt program. What this is going to do, this is now going to get a visual studio code to compile the cable program itself. This may take a while in the first run because it needs to initialize everything. However, the runs after this should be a lot quicker. So let's let Visual Studio code do its thing. Okay. So the program is currently running. And although it doesn't look like it's too much, it is. The first way we know is that these buttons here appear. You can obviously see a stop button here, which must mean it's right. We will also notice that these terminals appear. These terminals allow us to work as normal. Instead of using multiple programs, we can just use terminal within Visual Studio code to make it workflow more streamlined. We move into terminal. We can see the output of the file. For this, all we're gonna do is just gonna print v to view our products. And that product print is normal as intended. Let's quit out of this. Let's close these. And now instead of running, let's run it with the debug. However, before we do this, let's add a breakpoint. Breakpoints can be added over here in the left hand side margin. We can see here the red icon appears. If we click that, it gets brighter. This means there's a breakpoint for this line here. And now what we can do, we can come back. We can debug Cobalt program. And Visual Studio code is gonna compile the program and enable the debugger at the same time. So the program is currently running in debug. What we can do here is we come over to the left, and we can see the run and debug session. This just allows us to track variables and see where the program currently is within the debugger in real time. So to get the debugging running, we're gonna click continue until it finds the first break point or unless there is any user input required. For this, there is. So we're going to view our products again. And now we have reached that breakpoint. And now through the breakpoint, we can step over, step into, and step out of code. However, what we can do as well as part of the debug is we can right click this and add to watch. Now this creates a watch here for the variable. And this is going to enable us to see any changes to that variable throughout the run time of the program. So let's step into the next line, and keep running through the program. Here, we can see that the max product ID is going to change. And as we step into it, the product number changes here. And if we hover over as well, we can see that that number value within that variable. We can do this for any variable as well. So product description is this is a phone. Do product ID is one. Product name is phone. If we keep stepping through here, every time we can see the product ID increases. And again, the hover pop ups replicate that as well. Let's run through these until we get another user input. And we can do the same again We just run the program as normal into another input. And then if we find that breakpoint again, we get this. Let's continue. And let's quit out of the program. Quitting out the program here terminates the program, terminates the debugger, and we can now go back to editing our code. Let's close the terminals. Now that we have gone through setting up source control, developing a program, running, and debugging the program, let's touch on the AI side of Visual Studio code. To the right, you'll notice that this chat box is here. We can enable this and disable this with this icon up here, And we can drag and drop to enlarge the chat section. Now down here is our prompt that we're gonna give to the AI. You can also see here that there's this plus button. This plus button means that this file is currently open, and we can add this file as context for the AI to use. Additionally, what we can do is we can drag and drop files into the AI chat, and this is going to read the files through as context for the input that we are providing. Additionally, there are different types of AI we can use. It's agent, ask, and plan. Be careful with agent because this can modify code. It can delete files as well, and it can create files. For this, we're gonna use ask, and this ensures that no changes will be made to any of my code. We can also select the different model of AI that's used. However, for this, we're just going to use the default one. And let's ask it to summarize this program. What this is doing, as we can see here, is reading these files. It's gonna go through and work out based in the context of that file what this program does. And you can see it's a simple inventory simulator with a text menu loop, which is exactly what this program does. This is only, of course, the very basics of the AI that we can use within Versus Code. We can extend the use of AI to develop programs for us within here. But for now, this is just the basics of what we can do with the AI integrating the Versus code. But as I said, this is entirely optional, and all it is is a click of this button, and we don't need to use the AI any longer. So that concludes the presentation and demonstration. Thank you so much, Ben. That was the demonstration and presentation on Rocket Software Visual COBOL and extension for Versus Code. And now we're gonna proceed to Rocket Software COBOL x JSON and how to connect COBOL code with other programming languages, from Harry Marley. Hello everyone, and welcome. My name is Harry Morley, and I will take you through how we can use JSON inside of Visual COBOL to communicate with other languages. First, I will show you what we can achieve with COBOL and JSON. I'll then explain what exactly is JSON, how we write JSON strings, and how you can use JSON within your COBOL programs. Let's start with the first demo, which will be a simple stock keeping application. This is the native Cobalt program, which acts as the back end or core business logic of the application. With this terminal based program, we can add, remove, search, and display records. If we display all records, we can see all of the records currently stored within the JSON file. If we continue, we can add a new record and search to see if it's been added. And as you can see, it has. We continue and quit up the application. We can take a look at the changes within the JSON file. Looking inside of our JSON file, we can see our new item has been added. If we take a look at our COBOL program, we can see this function is responsible for writing to the JSON file, using the COBOL JSON generate string. As you have seen, our UI is very simplistic. And it can be hard to see all of the items at one time if we have a lot listed. However, because we're using JSON to store our product information, we can read it with a language that allows us to use a more modern UI. Here I have created a simple JavaScript Server which will read the JSON file and display our stocked items in a more user friendly way. If we want to add a new item, you can save it, refresh the page, and our new item is automatically added. Now this is an incredibly simplistic implementation. However, it shows how powerful JSON can be when used with COBOL. Let's take a look at our second demo and see what else we can achieve. Our second demo is an example of a REST API, implemented completely in native COBOL. With this, we are able to send HTTP requests to our COBOL program, in order to look up customer records. If I start up our COBOL server, And navigate to my browser. We can use Postman to test our API. Here is our custom endpoint. As you can see, JSON has been used for both the input and output of this API. Therefore, we are reading and generating JSON strings. If we take a look at our code, we can see this uses the same JSON generate function as our other demo. Same with up here. We are parsing the JSON input. It is important to note that this program mimics Rocket Software interface mapping toolkit, which also uses JSON as part of its communications. If you would like to learn more about the interface mapping toolkit and how you can implement REST features into your COBOL programs, you can find this within our documentation. Now that we've seen what JSON can do, let's learn about what it actually is. JSON or JavaScript Object Notation is a method of formatting data into key value pairs. Although it has JavaScript in the name, it is used by many languages as a form of standardized communication, and is especially effective in web service communications. Although created for JavaScript in 2001, in 2026 JSON can be handled by over 60 languages. JSON is also the official Internet media data type. Therefore, is incredibly common when dealing with web services. As it is similar, JSON is also used as a common substitute for XML, as it is easier to parse. For those curious, I asked GitHub Copilot to list every language that can interact with JSON, and this is the result. There may be some inaccuracies here, but it's clear to see the extent of JSON as a data form. Now that we've learned a little bit about JSON, let's see how to write it ourselves. Here's an example. There are five rules you must follow when writing any JSON string. The first rule, is that all objects are enclosed with curly braces. This means there must be a curly brace at the start of your object and the end of your object. This is similar to writing functions in C type languages. You can see here in this example that we have two objects, one inside of the other. Therefore, we need to make sure they are both closed properly. Number two. The content of an object is made up of key value pairs. These pairs are separated by colons in between them. In our example, we can see that every piece of information we want to store is paired with a key, including our nested object. Number three. The value of a pair can hold data types, such as strings, numbers, arrays, Boolean values, null values, and even other objects. Number four. If your object contains multiple pairs, they must be separated by a comma. And lastly, all keys must be strings. As we saw in our demos, COBOL can generate and parse JSON. This is done by directly mapping COBOL data items to a JSON string. Through this, COBOL can communicate with any other language that can do the same. The exact details of this are the following. First, the JSON generate statement. This allows you to generate a JSON string from any COBOL data item or group using just one line of code. The COBOL to JSON conversion is also one to one. Therefore, exact variable names and data is translated. Next, the JSON parse statement. This is the inverse of the generate statement, allowing you to read any JSON string with a single line of code. Much like the generate statement, this is a one to one conversion, meaning key names must match the destination data item or it will not be parsed. When parsing JSON strings in COBOL, you must always allow for the largest possible value in each data item, so there is no unexpected truncation. If we want to handle more complex strings, we can also combine the generating parse statements with their extensions seen here. If you would like to know more about what each of these phrases do, you can find more information in our documentation. Thank you so much, Harry, for showing us how to leverage JSON working with Cobble. And then the last demo of today is gonna be about Rocket Cobble and DevOps practices by Alex Chen, and we're gonna proceed to the demo right now. Hi, everyone. My name is Alex Chen, and today I'll present a presentation and a demo on elevating your global DevOps with Rocket Software DevOps enterprise. So what are the DevOps challenges for Cobo teams? Compliance. Every software developer must adhere to compliance standards, whether internal processes or external regulations. Doing this manually can be time consuming, error prone, and costly. Security. Cybersecurity is a top priority for any CIO, and securing the development life cycle is critical. Productivity. Every IT manager strives to boost productivity, and one of the best ways that Rocket Software DevOps does this is by employing significant amount of automation during the development life cycle. Tools modernization. Development teams are rapidly modernizing their tool sets with solutions like Git, Jira, Jenkins, and Versus Code becoming commonplace. Remaining competitive. To stay competitive, organizations need confidence that their development toolsets empower cross functional teams to fully engage in a software life cycle. And finally, quality. Every organization wants to increase both the quality and the quantity of software development. The answer to this is shift left in the testing. So what makes Rocket Software DevOps different from other solutions? Our customers tell us that we are the easiest to use even for nontechnical personnel with the most automation and most powerful security and compliance capabilities. In compliance, Rocket Software DevOps streams lines compliance by defining, enforcing, standardized processes, permissions, controls, and providing a comprehensive suite of audit reports and analysis. The effect of this is that Rocket Software DevOps reduces the administrative burden on IT teams. On security, Rocket Software DevOps actively monitors production environments for exceptions in security infringements. We automate code scanning using recognized external tools as well as any in house or third party tools that our customers prefer. On automation, Rocket Software DevOps replaces manual error prone deployment processes with automated workflows, align code to be moved smoothly from development to testing to production. On visibility and control, Rocket Software DevOps portal offers real time visibility through charts, dashboards, reports where stakeholders can track progress at any stage. We help development organizations deliver projects on time, within budget, and at the highest quality. Rocket Software develops other core values also include stability with agility, cross platform integration, developer empowerment, and customer centric adaptability. So one of the ways Rocket Software Visual Cobo can integrate with Rocket Software DevOps is the following. Developers will use Visual Cobo to develop and build application and then integrate with Git, run unit tests. Jenkins would then run pipelines to build unit tests, integrate with Rocket DevOps via the Rocket DevOps Jenkins plugin. Rocket DevOps takes over when the Jenkins plugin imports executables to release environments on Rocket DevOps server. Artifacts are then promoted upwards through different environments. Rocket DevOps then deploys the application to production environments on target machine, which can include Rocket Cobo Server. And here we see how Rocket DevOps enterprise can work with Jenkins. Jenkins uses automation build tools such as Ant to build the application. It also allow automated unit testing in isolated environments. Jenkins can also integrate with Rocket DevOps via Jenkins plugin that takes over the deployment of executables. Functionality of Rocket DevOps enterprise include compliance. Rocket DevOps is a comprehensive set of audit tools to ensure compliance with good regulations and reduce administrative burden of IT staff. Rocket DevOps manages security through its security server. Users can define roles and permissions to allow separation of duties. Although Jenkins can do some deployment functions, it often requires complex plug in management. On the other hand, Rocket DevOps has capabilities in automation and promotion, supports multi platforms and hybrid environments. It also has visibility, dashboards, and robot capabilities. Rocket Software DevOps can also integrate with customer developing components via its Rocket Software DevOps API. And here we have the demo where I will demonstrate how Visual Cobo can work with Jenkins and also with Rocket Software DevOps. So here I have on my target machine a command line application, which shows the distance between two airports and displays the distances. So if I run the application, it will show the distance between the airports. And now I will make a change so that this display statement has the word change in it. So now I'm in Eclipse, and, editing the program. I'm going to write the word change in here, and now save, and then our stage, and then our commit. After I commit, the should be triggering the Jenkins jobs, which I have configured. The first job builds the application. The second job runs the unit tests. And the third job imports the executables into the Rocket Software DevOps server. So in the first job, I'm using Ant to build the application with Rocket Software, Visual Cobo. And it is triggered by changes in Git on the local repository. This can also be a GitLab repository where the Git plug in can pull down the repository changes and also build the repository. So as you can see, the application has been built successfully, and this in turn then triggers the second job, which runs the unit tests and also building the application. So if we go into the unit testing, it shows if test had passed. And the unit testing is also run by Kent. And the third Jenkins job then imports the build executables into Rocket Software DevOps server for deployment. So in this third Jenkins job, running the job only when the unit tests have passed. Also, it runs the copy build. Xml which copies the ELLs into the Jenkins workspace. And then it uses the Jenkins plug in for Rocket Software to import into the release pipeline. In this case, I'm imported into EDM FUT application with the release name base build and release version one. And I'm also giving the credentials as well as the target directory of DLLs to import. Now that it has run successfully, we can check the deployments, and it has run successfully. So we can see that DLLs have been imported. And, also, through the Rocket Software server, it promotes to the production environment and deploys onto the target machine, which is specified here and with with the status of success. And now we're back to the target VM where I would run the application again, and it should reflect the changes with I just made. So by sitting into the batch group and run the application. And here we can see that the word change have been reflected into the application in the production environment. Thank you. Thank you so much, Alex. Thanks so much, everyone, for joining us. I know we at the time, I was wondering, are you open for quiz? Could you please let us I because I see some people already leaving. So could you please send, like, a plus sign or something like that in the chat so we will see? Because quiz will take, like, few few minutes, like, maybe three, few minutes. And why while you are in the chat, I just want to mention that we have a few offline live Cobble days scheduled for the rest of the year. We're gonna meet in London on October 8. We're gonna meet in Copenhagen on November 3 and Amsterdam November 15. So if you are interested in any of those events and want to see 12. O demos in life and speak to our team in person, let us know. Let, please reach out to your account executives. They will share the details. And I will share the link to the London event in the chat so you can actually sign up for the event there. I see that a few people are up for we yes. The recording also will be distributed to you tomorrow, and we're gonna share and we're gonna share the presentation and quiz winners with you next week on the forum. Okay. So I see that a few people are for the quiz. So let's make it super quick today because I know that it's been an hour already. And if you still have any questions, please feel free to reach out to our teams, or through the forum. We're always there, so we will support you there. Okay. There's gonna be five questions. Please use the chat to answer those. Today, we're gonna make it, like, super quick. So, like, thirty seconds, even less, twenty seconds for each question, and then we'll do it in a minute. It's gonna be a world record. So the first question is, what is an estimated cost of check depth for enterprises? Is it 1,500,000,000, million trillion, or $100,000? It was in a slide about Rocket Software being featured into Gartner major quadrant reports. And, again, if you want to receive code modernization report, please reach out to your account executive. We have a link to the full, document, without requiring the Gartner subscription. 54321. And the correct quest the correct answer is 1Point5000000000000. And so, yeah, I see that a lot of people stuck to the billions, so we'll see who is the winner. The next question is, what can you do with Jenny inside something that Jay showed us, with cope rocket COBOL analyzer? Get context for any code snippet or function, find that and duplicate it call through chat interface, summarize a COBOL program, and generate summary or all the above. K. One, two, three. And the correct answer is all the above. Again, if you want maybe personalized demo of Rocket Software organizer or learn more about the tool, reach out to us. We will be happy to assist you. Question number three. What is not a feature Rocket Software extension for Visual Studio Code? Something that Ben was showing us. Is it conversion of global code to other languages? Is it editing support for global code, compilation of global code, or debugging of global code? John, you just write in chat the number of the answer. K. One, two, three. And we go to the question number four to left. Approximately, how a programmer like would you support JSON? Something that Harry mentioned at some point. Is it five twenty, 60, or 121, two, three. And the correct answer was 60 plus, so we'll stick to 60. And the last question of today is what can you do by integrating Jenkins with Rocket Software? Something that Alex showed us on the scheme. And is it check code for errors, build CICD pipelines, create new product interfaces, or connect Cobalt with other program languages? So, again, we will share the recording of today's session with you tomorrow, and then we're gonna share more materials on the forum next week. So stay tuned. Follow the forum. And, also, there's gonna be post event survey. It's gonna be launched, like, very, very soon. Please leave your feedback. This is how you help us to make the sessions valuable for you and help us to make sure that, yeah, we provide relevant content, relevant, demos for you. And the correct answer is build CICD pipelines. And that's today's quiz. Thank you so much for participating. Thank you so much for joining us. We've been a little bit over the time, so we appreciate, you staying with us. If thank you to all the speakers today, for all the demos. If you have any questions, let us know, and we we'll be happy to answer them on the forum or in person. Thanks, everyone. I think that's that's it for today. Have a great rest of the week, rest of the summer, and see you see you soon.