Hasura has announced GraphQL Joins. The technology allows developers to join data from multiple GraphQL services to create a unified GraphQL. Importantly, this is done using open-source GraphQL standards. Using open source makes it immediately accessible to all developers. Support for third-party GraphQL services means there is no dependency on upstream service changes.
Tanmai Gopal, CEO of Hasura, said, “As the adoption of GraphQL within teams increases, and as vendors accelerate providing their APIs via GraphQL, we are excited about announcing the GraphQL joins that make federating across homegrown or third party GraphQL services instant.
“As with all features we build at Hasura, setting up multiple upstream GraphQL sources and being able to join related pieces of data across them is possible to do within minutes and in a way that doesn’t require any changes to the upstream GraphQL services.
“We expect this to benefit Hasura users today, organizations adopting GraphQL across different teams, and teams with great REST APIs looking to provide a GraphQL API instantly to their customers that addresses N+1 and sub-querying challenges.”
What do GraphQL Joins do?
Users increasingly want to combine data from various sources across the enterprise and external sources. It leaves developers with the complicated problem of combining the data to use it in applications.
Historically the data was extracted and combined into intermediate data stores before being used. That created a problem with maintaining the links to the data to keep it current. Latterly, developers have been using APIs to expose the data. But they are still left with separate APIs for each of the data sources and services they want to access.
What Hasura is offering is a cleaner way to make this work. Developers can combine GraphQL data sources, services and APIs using Joins. This is a more elegant and simpler solution that brings multiple benefits. It is simpler and cleaner to work with. It also requires far less code, which means fewer opportunities for security issues. A further benefit is that it also requires less maintenance.
Hasura has published a blog giving more detail on how GraphQL Joins work. It says: “With GraphQL Joins, developers can federate their queries and mutations across multiple GraphQL services as if they were a single GraphQL schema without modifying any of the underlying APIs or writing any extra code or requiring any changes to the upstream GraphQL service.”
According to Hasura, its new GraphQL Joins capabilities enhance data federation for developers who have:
- More than one GraphQL API – whether their own or a third party’s
- Existing investments in GraphQL servers to which they would like to add new data sources
- Databases for which they haven’t yet created APIs
In a future release, the company is also promising to add support for REST APIs.
Enterprise Times: What does this mean?
Users are being told to get creative with all the data that organisations hold. The problem is that getting creative is not easy when the data is siloed. It is no easier for developers who have to create many of the apps, services and APIs that users rely on. In the case of the latter, developers are creating APIs that are being consumed through low-code apps.
While this solution is only about GraphQL, developers will welcome it. They will also appreciate that it is built on open-source GraphQL standards. That means it will work with any of the GraphQL services that they are using.
That Hasura is promising to go further and support REST APIs is just as interesting. The company is adding features that should translate into new customers. Where will go after REST APIs? We might have to wait a few months to find out.