Hi Raveesha, Few things to note with related to the design.
1) there will be two deployment artifacts to be created and also removed in api creation and delete flows. 2) ability to provide the same level of analytics for subscriptions, similar to queries and mutations. 3) devportal api overview needs to show two endpoints as the clients need to work with both http and ws. 4) the GraphiQL UI needs to be intelligent enough to initiate WS calls for subscriptions and http calls for queries and mutations without any intervention. On Mon, Nov 2, 2020 at 6:08 PM Raveesha Rukshani (Intern) <[email protected]> wrote: > 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> >> >> -- Thanks & Regards, *Fazlan Nazeem | *Associate Technical Lead | WSO2 Inc Mobile : +94772338839 | [email protected]
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
