Hi all, Here is my design document to implement the GraphQL Subscription support for WSO2 API Manager via web sockets.
https://docs.google.com/document/d/19XEIwTb7AoqrThKyLz7taRDHLq83meY68joGpaIL5Rg/edit?usp=sharing I would like to get some feedback on this design. Thank you. On Mon, Nov 2, 2020 at 3:05 PM Raveesha Rukshani (Intern) <[email protected]> wrote: > Hi Team, > Here is my design document to implement the GraphQL Subscription support > for WSO2 API Manager via web sockets. > > GraphQL Subscription support for WSO2 API Manager via websockets > > > 1. > > Introduction > > > The current WSO2 API Manager provides the ability to manage operations of > the GraphQL API. The root types of the GraphQL schema are the query, > mutation and subscription type, which are the three types of operations > that can be used to run requests from a GraphQL schema. > > > - > > Query - Allows to fetch data. > - > > Mutation - Allows to create and modify the server side data. > - > > Subscription - Allows a server to send data to its clients when a > specific event happens. > > > But current WSO2 API Manager is supported only for GraphQL queries and > mutations features. In current implementation, HTTP is used to fetch and > modify the server side data. So using this current WSO2 API manager, > clients are not able to handle the real-time updates in GraphQL APIs. To > get the real-time updates, it should be created using protocols like > websockets.The existing WSO2 API manager should be upgraded by implementing > this real-time capability. So the existing issue can be eliminated by > implementing GraphQL subscription support for WSO2 API Manager via > websockets. > > > 1. > > Implementation Approach > > > > - > > When creating the GraphQL API, first check the GraphQL schema to > clarify whether the subscription type is available or not. > - > > If there was no subscription type in the schema, There was nothing to > modify the existing implementation. > - > > If there is a subscription type operation, then have to initialize the > websocket endpoint to execute the subscription operation. > - > > Then queries and mutation type operations can access the http endpoint > to call the GraphQL backend and the subscription type operations can access > the ws endpoint to get the real time updates of the GraphQL backend. > > > Flow Chart > > > > Design Diagram > > > > > > I would like to get some feedback on this design. > > Thank you. > > > -- > > *Raveesha Rukshani*| Intern | WSO2 Inc. > > (m) +94714998611 | (e) [email protected] <http://wso2.com/signature> > >
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
