BMS - First Projects

BMS, as the IT arm of the Belgo-Mineira group, had evolved from a mainframe-based environment into a distributed environment, based on Intel servers running Windows. It was a radical change, from a fully centralized system to a decentralized one. At times, this even generated a certain nostalgia among some of the older employees. I remember my boss, Fernando, saying his dream was to go back to a mainframe environment: to have a single, well-controlled machine that worked 100% of the time. Belgo used SAP, which was perhaps a kind of middle ground between the two models, since it was much more centralized than the more usual Windows applications.

I joined a team that was later nicknamed Netforce. It was the team that basically took care of networking and security. The network was entirely based on Cisco gear, pretty standardized, and followed a star topology, with the center of the star at BMS in Belo Horizonte which was connected to all of Belgo’s plants and offices. I became the security specialist on that team and managed systems like antivirus and firewalls, also from Cisco. I learned a lot about network administration and the management of mission-critical corporate environments during that period.

One of the most important security activities we had was updating the Windows servers, which was always done on Sundays, once a month. That was the day we had to work on the weekend and log into the servers, one by one, to install all security patches. After a while, we started noticing that some of the updates published by Microsoft could cause problems on certain servers. With that, we had to establish a staggered update protocol, in which we would start by updating a few servers and gradually expand that group. Around that time, practically all companies started adopting this kind of practice, because it was getting too risky to simply apply updates with no prior testing. That didn’t change the fact that, once a month, we had to go to the office and work on a Sunday.

Besides learning a lot about IT operations — basically keeping the systems running — BMS also had interesting projects. One of those projects was developing a system that would let the salespeople of a client company take a Palm Pilot type device to the field to record the orders they took. PDAs were a huge novelty at the time, and this project let us access fairly recent technologies. I wasn’t very involved in the project, but at some point they needed someone with more cryptography knowledge, and I was called in. The big problem was how to encrypt the data stored on the device quickly and efficiently, since those devices had very limited processing and memory capabilities. Along with Arnon, we tested several cryptographic algorithms, but they all proved too slow. The solution we found was to reduce the security level of the algorithms, by decreasing the standard number of steps (rounds). That reduced security, but made the algorithm faster. It wasn’t the most secure solution, but it was the possible solution at that moment for that kind of device.

BMS had a strong capability in SAP and did many projects for other companies. One of those projects was the development of some specific modules for a chemical industry in São Paulo, and I was assigned as the person responsible for ensuring network connectivity between BMS and the client. I made a few trips to São Paulo because of that project, to talk to the client about the possibilities of interconnection between the development team and the client’s infrastructure. Neither of the two companies was prepared to set up a direct network-to-network connection, which would have been the most suitable solution in this case. BMS had about 30 developers in Belo Horizonte who needed to access the client’s systems in São Paulo, and the only way the client found to allow that access was a dial-up modem connection from Belo Horizonte to São Paulo. Each developer would have to use a modem and an individual phone line to dial to the client’s number and connect to their systems. Since it was the only possible solution at that moment, that’s what we implemented.

After some time, the development team began to complain that the modem connection was very poor. The connection would start at a reasonable speed, but then get slower and slower until it dropped, which was significantly hampering their work. After several visits to the client and many tests, we ended up concluding that the problem was in the phone wiring of the building, which was very old and introduced a lot of noise on the line. The only definitive solution would be to replace that wiring, which wasn’t feasible. So we had to go back to the client and negotiate a remote VPN-style connection over the internet, so the work could flow better. Eventually, the development team moved to another building, and the phone line quality improved a bit, but we never got the chance to implement a truly suitable solution, partly because it was a temporary project. The problem dragged on, with minor improvements and setbacks, until the project was concluded.

The company still had many people with knowledge of mainframe systems, and that led to another interesting project. I took part very little in this one, but it stuck in my memory because it was conceptually very elegant. Mainframe systems are traditionally screen-oriented. The terminals are text-based, with well-defined dimensions, usually 24 rows by 80 columns, and the systems typically define a kind of form that fills the whole screen. In that form, the user can enter information or read the data provided by the system. The big insight was to realize that, since the web is based on pages, there was an almost direct correspondence between a web page and a mainframe system’s screen. Someone then developed a piece of software capable of connecting to the mainframe, receiving the information corresponding to a screen, and translate it into a web page. Navigation between screens on the mainframe is normally done using function keys, like F1, F2, and so on, each associated with an operation available on that screen, like save, delete, next, or back. That could easily be represented as a menu at the top of the web page. It was a conceptually simple system that united technologies from completely different eras and allowed old systems to integrate with more modern technologies.

We had other really interesting projects too, but I’ll leave those for the next chapter.