Wazi – A web IDE for Z Open Development powered by Zowe

Wazi is a technology preview of a Web IDE for Z Open Development powered by Zowe. In this technology preview, we will show how COBOL applications can be edited within your browser. We will also show how you can interact with z/OS remotely from within your browser and run JCLs to compile and run your applications. You can perform all of these operations from your local SCM workspace such as Git.

Wazi runs entirely in the browser and is provided to you via an easy to use Docker image which runs on any platform that can run Docker including laptops (Download it from here). That Docker image contains all the required prerequisites and runs the Web server. The IDE experience is based on the popular Theia open source project.

This Wazi technology preview extends Theia with two components:

1. A COBOL editing experience: We are providing a fully functional language server for COBOL that enables code completion, finding and navigating references, refactoring and more. We also provide various editor extensions such as syntax highlights, preview of included copybooks, code templates and many other advanced capabilities.

2. Integration with Zowe REST APIs and the Zowe CLI: Integration with Zowe REST APIs allows you to interact with z/OS remotely to create and read datasets, as well as to load and save COBOL program files. Integration with the Zowe CLI provides additional command line operations such as running JCL to compile and run your applications. To learn more about Zowe, visit this Blog post and the Zowe Documentation home page.

SALIENT FEATURES

Zero-client install experience using the Web: What if your editor with your settings and your application files would just be there on any machine that you have just logged on to? By navigating to a URL in a browser you would be able to get there and see everything the way you left it in your previous session. No installation required, but still a full modern editing experience with all the language-specific features and technology integration that you would expect from an IDE? The editor and files could be hosted in your organization’s protected and/or private-cloud using Docker and virtual drives, and you would be able to open your z/OS resources directly here, as well. All changes you make can optionally be saved automatically back to its source to make sure you do not lose anything if the connection is lost.

Wazi launched from a browser with Editor view and File explorer

Figure: 1 Wazi launched from a browser with Editor view and File explorer

Edit COBOL Applications on the Web : Even though your editor would run on the Web and in your browser, it would be just as fast and responsive as a local IDE with all the tools you expect for working with COBOL. Additionally, there would be many new tools that you have seen in other modern IDEs for other languages. Some of the key tools Wazi provides for COBOL are outline view, syntax highlighting, code completion, code templates, find all references, peek definition, search and rename refactoring across multiple program files, and many other capabilities you would want from a modern, language-sensitive editor.

COBOL code completion using the Web editor in Wazi

Figure 2: COBOL code completion using the Web editor in Wazi

Hover capability for COBOL in Wazi

Figure 3: Hover capability for COBOL in Wazi

COBOL outline navigation

Figure 4: COBOL outline navigation

COBOL Syntax checking

Figure 5: COBOL Syntax checking

Boost productivity and control with modern SCM: Even if your organization does not standardize on an SCM, using one such as Git locally in a workspace will give you a boost in productivity. You can snapshot work at any point in time, go back or branch into alternative explorations, merge your or your colleagues’ branches back in, or just revert back to any earlier state of your code in a flash. Use side-by-side views and “blame” annotations to explore exactly what changed between snapshots when, and how it looked before. See exactly for each line when it last changed and by whom. Explore the entire history of all changes in a chronological history viewer.

Git Integration with Wazi

Figure 6: Git Integration with Wazi

Directly interact with your z/OS system: If you have Zowe configured, then you can load and edit your files directly from z/OS or download them into your local workspace, add them to Git to control your changes, and then later upload the changed files into the same or new dataset to compile and run your application. Do all this from within Wazi with simple drag-and-drop as well as command line interactions from a Terminal that sits right below your editor giving you one central view to everything.

Zowe Integration with Wazi

Figure 7: Zowe Integration with Wazi

Excited to get your hands on Wazi? You can Download it here .
Please refer to this community page for additional exciting information, tutorials and How-to videos on Wazi – About Wazi

LOOKING AHEAD

We are looking forward to your feedback/questions on the capabilities we have in our first technology preview and are looking forward to working with you as a design sponsor user. To start, we would very much appreciate if you could try out the Wazi technology preview and then take this brief survey to provide us with direct feedback related to this technology preview.

Keep an eye on our About Wazi page for incremental announcements and enhancement releases.