Declaratively Create Subgraphs & Assemble Them in a Unified Graph
Building Graphs of Graphs: A Unique Declarative Approach to GraphQL Federation.
Build a Graph for any Backend Data Source in Minutes
- SQL, NoSQL, REST, SOAP, OData, and GraphQL data. GraphQL-enable any backend in minutes - wherever your data resides. Choose to let StepZen introspect the backend and generate the API, craft it yourself using declarative GraphQL directives, or a combination of the two.
- StepZen introspects the backend and generate the schemas and resolvers for you. Specify the data source on the command line and StepZen delivers a GraphQL endpoint on the backend.
stepzen import [ curl | postgresql | mysql | graphql |...]
- Write schemas and resolvers with a few lines of declarative code.Use
@rest
,@dbquery
, and@graphql
declarative constructs to connect and configure backends and customize your GraphQL.
Let StepZen build your subgraphs
IntrospectionSOAP or REST Endpoints
$ stepzen import curl "http://ip-api.com/json/8.8.8.8"
Starting... Done
1 Schema imported successfully
DATABASE Endpoints
$ stepzen import postgresql
> What is your host? postgres.heroku.com/4562311
> What is your database? customers
> What is your username? admin
> What is your password? [Hidden]
Starting... Done
1 Schema imported successfully
GRAPHQL Endpoints
$ stepzen import graphql
? What is the GraphQL endpoint? https://myco.api.com/graphql
? Do you want to add headers? Yes
? What are your headers? "Authorization: Bearer hxmxmmx..."
? Do you want to add a prefix? No
Starting... Done
1 Schema imported successfully
Write your own subgraphs
@rest - @dbquery - @graphqltype Customer {
address: String!
email: String!
id: ID!
name: String!
}
type Query {
customerByEmail(email: String!): Customer
@rest (endpoint: "https://apis.acme.com/customers?email=$email")
}
type Order {
created On: Date!
customerId: ID!
id: ID!
Amount: Float!
}
type Query {
orders (customerId: ID!): [order]
@dbquery(type:"postgresql", table: "orders", ...)
}
Assemble a Graph of Subgraphs: Declarative GraphQL Federation
- Build a Graph with minimal coding. A team can focus on its line of business or any of the data it is responsible to deliver using
@rest
,@dbquery
, and@graphql
directives to connect and configure backends. - Declaratively assemble a graph-of-graphs or federated graph. Using the same declarative constructs used to create subgraphs, and the
@materializer
directive, building a graph or a graph-of-graphs is simplified, build-time is reduced from weeks to days and hours, and GraphQL execution is optimized. - GraphQL-as-a-Service: Graphs are auto deployed to the cloud. Whether you're building a subgraph or a supergraph, it is deployed in seconds to our cloud (or yours) and delivers automatic caching, parallelism, N+1 optimizations, pagination, and more.
Build Quicker, Run Better.
Successful GraphQL Implementations wherever your data lives.
Request a Demo