TY - GEN
T1 - GraphQL-based Backend Service Development Tool for CRUD Operations, Authentication, and Authorization
AU - Alzamzami, Moch Nafkhan
AU - Azizah, Fazat Nur
N1 - Publisher Copyright:
© 2022 IEEE.
PY - 2022
Y1 - 2022
N2 - The development of GraphQL-based backend services needs: (1) data model, (2) create, read, update, and delete (CRUD) operations, (3) authentication, and (4) authorization system implementations. There are often repetitions of those implementations in the development process so that a large number of code writings are required. A GraphQL-based backend service development tool for CRUD operations, authentication, and authorization is proposed. This tool was created with the aim of reducing the code writings required for developers to implement CRUD operations, authentication, and authorization systems. GraphQL is used as the query language to access and manipulate data because GraphQL has a schema that can be utilized to define model data and the metadata needed. JSON Web Token (JWT) is chosen as the authentication method because JWT is one of the authentication methods that has a subject context used by the authorization method. Attribute-based access control (ABAC) is used as the authorization method because ABAC can validate up to the attribute level so it can handle many system requirements. The result is a GraphQL-based backend service development tool for CRUD operations, authentication, and authorization called Homura. The following results were obtained: (1) The GraphQL API server was successfully created using Homura based on the definition of CRUD operations, data model, authentication, and authorization, and (2) Homura succeeded in reducing the number of code writings required by 82%.
AB - The development of GraphQL-based backend services needs: (1) data model, (2) create, read, update, and delete (CRUD) operations, (3) authentication, and (4) authorization system implementations. There are often repetitions of those implementations in the development process so that a large number of code writings are required. A GraphQL-based backend service development tool for CRUD operations, authentication, and authorization is proposed. This tool was created with the aim of reducing the code writings required for developers to implement CRUD operations, authentication, and authorization systems. GraphQL is used as the query language to access and manipulate data because GraphQL has a schema that can be utilized to define model data and the metadata needed. JSON Web Token (JWT) is chosen as the authentication method because JWT is one of the authentication methods that has a subject context used by the authorization method. Attribute-based access control (ABAC) is used as the authorization method because ABAC can validate up to the attribute level so it can handle many system requirements. The result is a GraphQL-based backend service development tool for CRUD operations, authentication, and authorization called Homura. The following results were obtained: (1) The GraphQL API server was successfully created using Homura based on the definition of CRUD operations, data model, authentication, and authorization, and (2) Homura succeeded in reducing the number of code writings required by 82%.
KW - CRUD operations
KW - GraphQL
KW - attribute-based access control
KW - authentication
KW - authorization
UR - https://www.scopus.com/pages/publications/85145774113
U2 - 10.1109/ICoDSE56892.2022.9971818
DO - 10.1109/ICoDSE56892.2022.9971818
M3 - Conference contribution
AN - SCOPUS:85145774113
T3 - Proceedings of 2022 International Conference on Data and Software Engineering, ICoDSE 2022
SP - 77
EP - 82
BT - Proceedings of 2022 International Conference on Data and Software Engineering, ICoDSE 2022
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2022 International Conference on Data and Software Engineering, ICoDSE 2022
Y2 - 2 November 2022 through 3 November 2022
ER -