In the past two weeks I have participated in a community event, a real hackathon organized by Citrix.
The event had already been held in Santa Clara in the United States in October and was scheduled for March in Prague in Europe. The advent of the covid-19 has changed things a bit and Citrix has transformed the event into a digital hackathon, providing all the tools to try the new Digital Workspace technology in cloud.
Programmers or systems engineers?
The interesting thing about this hackathon are the people invited. As you can imagine, the target of a hackathon is made up of programmers, while in general those who approach the Citrix world, at least until today, are IT Managers or CIOs. In this case, the attempt to bring the two worlds closer is a commendable process by Citrix, which is thus seeking to intercept the trend of infrastructure development at the IT level. There is no doubt that today the classic programmer is turning into devops, which is therefore not only able to create applications, but also to deploy them, manage them and monitor their use. On the system side, however, skills related to the management of systems, such as dockers, kubernetes and all those technologies that are necessary for the management of microservices are increasingly required. It will be an interesting challenge to introduce IT Managers in a field until now in the hands of programmers.
Digital Workspace, Microapps and communication with third party services
The hackathon generally focused on creating integrations with the Digital Workspace called Microapps. Microapps is Citrix’s solution for integrating third-party services within the Digital Workspace that each company uses to do its job. It is therefore a system that allows you to create actions towards external services and to receive notifications from them.
The communication between the various services is essentially based on the standards of web communication, therefore on REST APIs, preferring the json format for data exchange. Most modern applications already provide the possibility to interact with them through APIs and today’s standard is to use own REST APIs. REST APIs owe their success to the simplicity with which they can be defined and then used within complex systems.
Third party services
Within companies, however, not all systems are made to be easily integrated and not all provide ready-to-use APIs (and of the REST type). Therefore, the need to create a layer around these systems to make them able to communicate with Citrix services arises. To date, the technologies that allow you to create a web service that speaks in api REST over a db are numerous, including: eve,restsql,… up to, for more dated systems, the use of cgi-type technologies, able to interface directly with libraries written in C, C++.
Notifications, Pages and Actions
The system is based on the possibility of creating interfaces, or rather widgets that allow you to perform actions, or to receive notifications. A notification is a small box in which the information that is proposed to the user is fully customizable. An example of notification could be the creation of a new commercial lead arrived via the website, or a new holiday request from an employee, inserted in the management software. By clicking on a notification it will be possible to end up on another widget called page, where the user can view the details of the previous notification, or perform an action, such as approving the holiday request.
To actively participate in a hackathon you need to have an idea and try to implement it, taking advantage of all the resources that are made available, be they technological, documentation or experts ready to help. I thought of imagining how a developer on my team could benefit from having a dashboard with the notifications and all the most important actions to take during the day. So I had to plan how to manage task assignment notifications, how to directly build a product and how to receive notifications of the code created by other members of the workgroup.
In the next episode I will go into more detail of the services that I managed to integrate into the Digital Workspace.