Written by Bruce Armstrong, Zowe Advisory Council Member and Principle Product Manager at IBM
The Zowe community takes pride in being innovative and fast moving and has approved a new incubator project named Zowe Chat. It is the integration of chat technology into the Zowe code base that has GREAT potential. Chat technology is simple, universal, and versatile. Chat expands the possible consumers of z/OS based services when integrated with Zowe.
The Zowe Chat “squad” — as we call the team — is just now ramping up. The squad includes experienced developers from the existing (and very successful) Zowe Command Line Interface team plus experienced developers of chat technology. They need your input and participation to build this technology you need. Let me explain the background, the vision and how for you to get involved.
Chat will be another user experience option in Zowe
At the heart of Zowe is an integration framework based around enabling z/OS services to be securely and with scalability made available to a variety of modern use cases through different form factors. Zowe provides several out of the box applications (MVS and USS file editors, a web based 3270 emulator, ways to integrate into DevOps tooling as well as vendor extension APIs.). Today Zowe provides three different style interfaces to z/OS: a Zowe web browser interface, a command line interface (CLI), and a VS Code extension. We are working to add chat technology as a fourth user experience.
Chat technology is an intriguing new way to obtain and share information. It can be used by an individual to access z/OS based information or by an IT team collaborating doing development, administration or troubleshooting issues. Think of “human to machine” or “team with machine” as two high level use cases. Human-to-machine might be used to query the status of a job, or CPU utilization in a quick and convenient way. Team-with-machine might be a collection of subject matter experts working to solve a problem and sharing information in real time. In either use case chat technology is lightweight, fast and most likely already resides on your desktop, laptop or mobile devices.
The most common use for chat technology today is sending a message between two people or a team of people. The Zowe focus will be on chatbot technology that provides a bridge between the humans and machines or applications. Chatbots are like web browser plug ins that enhance browsers. They can enrich the chat experience in many ways. Zowe chat is not just for issuing commands to z/OS and getting back replies — the team is also considering the chatbot development experience and chatbots can be pluggable extensions to the chat tools to assist the humans in a variety of ways.
Zowe Chat framework is vendor neutral, pluggable, and extensible
The chat software domain is a fast evolving branch of AI technology and one of Zowe’s design principles is to be vendor neutral. Zowe Chat will be no different. The plan is to support multiple vendors in two ways. First, we recognize that Zowe technology consumers must have choice in the chat technology they choose to implement. Zowe chat will have the ability to work with different chat tools. Initially Slack, Mattermost and Microsoft Teams but other tools can be pluggable by others if they choose. Second, Zowe Chat is to allow chatbots to plug into the chat framework to provide different ways to enrich the chat experience. A human will interact with a chatbot and the chatbot will interact with the z/OS base, REST APIs. Chatbots will likely start as simple logic but could grow to do any number of sophisticated actions. The Zowe open community will take lessons-learned from the Zowe Explorer and Zowe Command Line interface and apply them to chatbot development. Chatbots will need to avoid conflicting implementations so that chat uses don’t become siloed by vendor or specific products.
As well as providing extensibility by vendors (whether to support new chat front end tooling or new vendor back end extensions), at the heart of our design is the ability for customers to extend the Zowe chat framework. This means that our use cases aren’t burnt into the code and require community updates to alter, but we are including built in flexibility through configuration files so that if a customer has a new chat reply/response execution scenario this can be done in-house.
Security is key
The Zowe open community likes to tackle hard problems — problems that no single vendor can necessarily address but for which all vendors need a solution. For example, chat tools today have different security models — private chats, public chats, who can join a group, etc. If subject matter experts are using chat to issue commands and see results from z/OS REST APIs, the z/OS security model needs to mesh with the chat security model. This is one of many challenges the Zowe open community needs to tackle. Your participation in the requirements and design are vital to get this right.
Multiple use cases and new personas
Note that the team decided to call the incubator Zowe Chat — not ChatOps, not DevChat, not some other predefined category of chat usage. Examples of who might use Zowe Chat, include but not limited to:
– A developer to check the status of an output job — maybe with a chatbot that already scans the output for an error code. Or a developer using Zowe Explorer needs to chat with a peer on a coding question.
– A customer support rep that chats to ask “Zowebot is the system running ok” and the chatbot correlates a set of predefined metrics from monitoring tools to give a thumbs up
– A subject matter expert is notified by a z/OS product of an error or job completion and then launches from chat to a diagnostic tools quickly and easily.
Come get involved and help shape the future of Zowe Chat
If you are a mainframe user and are using a chat client, then we’d love to hear from you. This is your chance to get involved in shaping the future of how the next generation of UI form factor and operation model of z/OS customers will take shape. You can fill in our survey to give us guidance on pain points and scenarios, you can join our weekly scrum calls every Wednesday morning 7:30am EST to hear what the team are up to (and contribute idea or code), and you can follow our progess in through our repository https://github.com/zowe/zowe-chat where all of code will be hosted, all of our issues tracked, and all of our builds will be made available.
If you enjoyed this blog check out more Zowe blogs here. Or, ask a question and join the conversation on the Open Mainframe Project Slack Channel #zowe-explorer-intellij, #zowe-explorer, #zowe-cli, #zowe-dev, #zowe-user, or #zowe-onboarding. If this is your first time using the Open Mainframe Slack Channel register here.