GraphQL’s Emerging Role in Modernization of Monolithic Applications
August 30, 2021 Alex Woodie
Every now and then, a technology emerges that lifts up everything around it. GraphQL has the potential to be a technology like that, and that’s good news for customers running older, established applications, such as those that run on IBM iron.
IBM’s mainframe and its midrange IBM i server often are maligned as old, washed-up, legacy platforms, but people who say that are missing a key distinction: it’s usually not the server that’s old. In most cases, it’s the application that was first deployed in the Clinton Administration (or earlier) that is the problem.
Companies typically have many reasons for why they haven’t modernized applications or migrated to something newer. For starter, the applications just work. And, despite the changing technological winds around us, the fact that these applications continue to do what they were originally designed to do — process transactions reliably and securely, day in and day out, often for years on end, without much maintenance — is not a trivial thing, nor is it something to fool around with. “If it ain’t broke, don’t fix it” probably best encapsulates this attitude.
You were supposed to abandon these monolithic applications in favor of client-server architectures 30 years ago. In the late 1990s, you were supposed to migrate your RPG and COBOL code to Java, per IBM’s request. The explosion of the World Wide Web in the early 2000s provided another logical architecture to build to, followed by the growth of smart devices after the iPhone’s appearance in 2007. Today, everybody aspires to run their applications as containerized microservices in the cloud, which surely is the pinnacle of digital existence.
After all these boundary-shaking technological inflection points, it’s a wonder that mainframes and IBM i servers even at exist at this point. But of course, despite all the best laid plans to accelerate their demise, they do (as you, dear IT Jungle reader, know all too well).
So what does all this have to do with GraphQL? We first wrote about the technology in March 2020, just before the COVID pandemic hit (so perhaps you missed it).
GraphQL, in short, is a query language and runtime that was originally created at Facebook in 2012 and open sourced in 2015. Facebook developers, tired of maintaining all of the repetitive and brittle REST code needed to pull data out of backend servers to feed to mobile clients, desired an abstraction layer that could insulate them from REST and accelerate development. The result was GraphQL, which continues to serve data to Facebook’s mobile clients to this day.
Since it was open source, GraphQL adoption has grown exponentially, if downloads of the open source technology mean anything. According to Geoff Schmidt, the chief executive officer and co-founder of GraphQL-backer Apollo, says 30 percent of the Fortune 500 have adopted Apollo tools to manage their growing GraphQL estates.
Following Apollo’s recent Series D funding round, which netted the San Francisco company $130 million at a $1.5 billion valuation, Schmidt is quite excited about the potential for GraphQL to alleviate technical burdens for enterprises with lots of systems to integrate, including monolithic applications running on mainframes.
“Frankly, there are great use cases around mainframe systems or COBOL systems,” Schmidt says. “You just slide this graph layer in between the mainframe and the mobile app, and you don’t have to change anything. You just get that layer in there, start moving the traffic over to GraphQL and route it all through the graph.”
Once the GraphQL layer is inserted between the backend systems and the front-end interfaces, front-end developers have much more freedom to develop the compelling app experiences, without going to the backend developer to tweak a REST API. In addition to accelerating the developer’s productivity, it also insulates the backend system from changes.
“Once you put that abstraction layer in place, not only can you combine all that stuff and get it to every platform in a very agile, fast manner,” Schmidt tells IT Jungle, “but at the same time, if you want to refactor that–if you have a monolithic backend that you want to move into microservices, or you just want to change how the back is architected — you can now do that without having to disturb all those clients that exist in the field.”
Microservices and Web services that utilize the REST approach are the defacto standard in the industry at the moment. But that could change. Schmidt cites a recent survey that found 86 percent of JavaScript developers ranked GraphQL as a “top interest.”
“This graph layer makes sense,” Schmidt says. “It’s at the edge of your data center. It’s the abstraction layer that you want to put around all your backend services, whether it’s to support front-end teams or to support partners. And partners are even a more powerful use case, because if they need a change to the API — hey, that can be six months or a year.”
One of Apollo’s customers is Walmart. The Arkansas-based retailer maintains systems for managing transactions in the store and on its ecommerce website. Using GraphQL, Walmart is able to deliver “an incredible 360-degree customer experience,” Schmidt says.
“Whether the customer wants to shop in store or they want to shop online, we’re giving them the very best possible shopping experience,” the CEO says. “The customer is going to describe how they want to shop, not the retailer, and that’s what Walmart is able to deliver with a graph that bring to get all the mainframe that power their brick-and-mortar stores together with all of their cutting-edge ecommerce investment to serve the customer wherever they are.”
Walmart, of course, has powered its share of innovation in IT. While some details of the implementation are not available, the fact that the retail giant is adopting GraphQL to address its data and application integration requirements may tell you something about the potential of this technology in an IBM environment, particularly considering the rallying cry from Rochester over the need to build next-gen IBM i apps.
The way Schmidt sees it, GraphQL lets customers think about their businesses as platforms, “as a bunch of capabilities that we can combine to meet customer needs, in any channel, anytime,” he says.
“IT leaders who put a graph strategy in place now, maybe even before the business realizes the need for it — they’re the ones who are going to have this platform strategy,” he continues. “The IT leaders who put that in place are going to be heroes, because whatever the business asks for, they’re going to be to be able to deliver a year faster than the competition.”
RELATED STORIES
So You Want To Do Containerized Microservices In the Cloud?
Public Cloud Dreams Becoming A Reality for IBM i Users
In Search Of Next Gen IBM i Apps
Modernization Trumps Migration for IBM i and Mainframe, IDC Says
I’m confused. I tried to follow up and explore this topic but nowhere on Apollo’s web site (that I or Google can find) is there any mention at all of COBOL or mainframes or …
Can you please post some kind of link?