Under the impression that software developers have no social skills? That’s because you haven’t met Ordina developers yet. They combine their love for IT with great communication skills and plenty of human knowledge. Take Bart Wullems, who has been an application developer in our Microsoft business unit since 2007. He is a popular speaker at seminars and customers are enthusiastic about his empathy. Rarely has someone described GraphQL, one of the newest stars in the developers’ firmament, as clearly as Bart has.
In a concise bio that Bart provided for an event, he states that he “believes that software will save the world.” Yet, he crossed paths with IT rather by chance. “It was not really a conscious decision,” he admits. “I graduated as an industrial electronics engineer. When I had to choose an internship in my final year, I ended up with IT player Dolmen.” It turned out to be the perfect match.
A cloud platform avant la lettre
Together with a fellow student, Bart built a cloud platform for Dolmen, long before the term cloud computing was ever coined. The project even earned them a prize. “We got to pitch our idea in a competition run by the Government of Flanders and, to our surprise, we came third,” Bart recalls. The project also caught the eye of Ghent University, who offered Bart a the opportunity for a PhD. However, Bart preferred the business world and signed a permanent contract with Dolmen.
Innovative apps for VTM
The first project Dolmen offered him following his internship was one that many IT people in the early 2000s could only dream of. “VTM, the main commercial television station in Flanders, wanted an application to automatically plan the transmission schedule based on advertising revenue and a kind of robot to launch the programmes automatically. Both assignments were quite tough for a beginner, but very cool at the same time. I got to work with the very latest technology, and on my break, I was able to have lunch next to Dina Tersago,” Bart says laughing. After the assignments for VTM, he developed a mobile app for stock management in Windows Mobile – that era’s main platform for mobile development. In 2007, Bart made the switch from Dolmen to Ordina.
The evolution of development
At the time, staff posting was the core of Ordina’s offering and the company was organised regionally. When Ordina decided to bring the know-how of its experts together into business units, Bart joined the Microsoft team. Under this banner, he has been developing projects for a wide variety of customers, from marketing agencies and utilities to government institutions. He has witnessed a dramatic change in the IT development concept over those 12 years: “The traditional process used to involve six months of analysis and two years of development, implementation and testing. After that, the system had to last at least ten years. There are no such projects anymore. Since the market, customer needs and regulations are constantly changing, IT systems and applications need to be updated with far more flexibility. At least every six months, generally.”
In the past, systems had to last at least ten years. Since the market, customer needs and regulations are constantly changing, flexible updates are a must.
Microservices for more flexibility
Instead of the monolithic architecture that was common in the past, Bart and his colleagues are using microservices to meet the demand for flexibility. “Microservices are small building blocks or applications that work together as one large application,” explains Bart, illustrating his explanation with the example of Netflix, one of the first major players to implement microservices. “Instead of being part of one large application, the search function, order function, authorisation function, etc. are all developed separately. They communicate with each other via a series of definitions and protocols: APIs, short for Application Programming Interfaces.”
The advantages? If your application needs to be updated, you no longer have to replace the entire platform: you simply replace the microservices involved. And that’s not all. Every microservice can be built using a different technology, since they work together seamlessly thanks to the API. In short: microservices help companies speed up development, adjust platforms faster and scale up services at a quicker pace.
The complexity of microservices
There is always a flip side, however: microservices are reaching their limits more frequently. Bart tells us why: “An application may consist of hundreds of microservices. Before the Netflix homepage appears on your screen, for example, between 70 and 150 microservices have already been called upon to generate that page. Every developer builds microservices somewhat differently and applications must run on more frontend clients – from TV sets to mobile devices. Each of those frontend clients requires different data, which is retrieved via different APIs and microservices. This creates a very intricate architecture.”
Before the Netflix homepage appears on your screen, between 70 and 150 microservices have already been called upon to generate that page.
GraphQL brings more structure
Major players such as Netflix, Google, Amazon and Facebook have been struggling with this complexity for years. Facebook worked out a solution that has since been adopted by developers worldwide: GraphQL (Query Language). “GraphQL brings structure to the way microservices and APIs are built and to the type of data each microservice will deliver,” Bart adds. He continues with the example of Netflix: “The developers at Netflix determine which microservice will use what data when suggesting films on a user’s homepage. They represent that information graphically in a tree structure that branches out into nodes. In the tree structure underlying the recommendations provided by Netflix, the suggested film would be the first node, to which actors would be linked and, for every actor, more movies. This structure makes the data exchange between the backend and frontend applications simpler and more efficient.”
GraphQL brings structure to the way microservices are built and data is requested. This makes the data exchange between the back end and frontend simpler and more efficient.
Efficient and flexible
GraphQL also offers far more flexibility on the frontend. “The frontend developer will describe what data needs to be displayed on which device. For example, this involves determining that only the titles of Netflix films will be displayed on a mobile device, while the film titles and descriptions will be shown on a TV screen. This makes sure the frontend application knows very clearly what data needs to be requested from the backend. With a single query, the frontend application gets the data it needs, nothing more and nothing less. In principle, this also allows users to select the data they want to see on their screen. It’s incredibly handy and was not possible before GraphQL.”
With a single query, the frontend gets the data it needs. Nothing more, nothing less.
GraphQL in practice
Bart is so enthusiastic about GraphQL that Ordina is already applying the framework for a big customer, for whom Ordina has been developing applications for two years. “This customer has an incredible amount of data that is often literally of vital importance. They want to make this data available on more devices, but this is where microservices show their limitations. When I suggested we should implement the GraphQL concept, we quickly got the green light. We have now placed a GraphQL layer on the applications, which now allows us to easily retrieve any data for each device.”
Out of love for the customer
Since its introduction by Facebook, major players like Netflix and Google to Amazon have now discovered GraphQL. The ecosystem of tools and libraries is growing, and rightly so, Bart believes. He does his best to introduce both colleagues and clients to GraphQL: “I don’t want to introduce new technology just because it’s new. But if it can help customers, absolutely. Perhaps that is what I find so exciting about this job: I get to use technology to really meet the needs of our customers. That is also why I am so passionate about GraphQL. Even though I have been working in IT for a very long time, there are times when I discover a new technology and think: ‘That’s it. It really solves our customer’s problems. I have to tell everyone.’ In this case: every developer should try GraphQL!”
Even though I have been working in IT for a very long time, there are times when I discover something new and think: That’s it. It solves everything. I have to tell everyone.