GraphQL Sorgu Oluşturma Sürecinde Kullanılan Araç ve Yöntemlerin Analizi ve İyileştirilmesi
Citation
AYDOĞDU, İbrahim Enes & Ali NİZAM. "GraphQL Sorgu Oluşturma Sürecinde Kullanılan Araç ve Yöntemlerin Analizi ve İyileştirilmesi". International Journal of Advances in Engineering and Pure Sciences, 33.1(2021):73-82.Abstract
Günümüzde yaşanan teknolojik gelişmeler, İnternete bağlanan toplam cihaz tür ve sayısında büyük bir artışa yol açmıştır. Sunucu makineler daha fazla istek almaya başlamış hem ağ trafiği hem de sunucu yanıt süresi olumsuz etkilenmiştir. Bu sorunları çözmek için Facebook tarafından 2015 yılında duyurulan GraphQL teknolojisi tek bir istekle birden fazla tablo, koleksiyon veya veri tabanına erişim sağlayarak toplu veri sorgulama ve değiştirmeye imkân vermektedir. Bu sayede cihaz başına düşen istek sayısı ve cihazların belleklerinde tutulacak veri boyutu azalır. Ancak GraphQL yeni bir teknoloji olduğundan henüz kod geliştirme sürecini yöneten ve kolaylaştıran araçlar tam olarak gelişmemiştir. Sunucu kısmında sorguları oluşturmak ve çalıştırmak için önemli miktardaki kodun elle yazılması gerekmektedir. Bu da yazılım geliştiricilere önemli bir iş yükü oluşturmaktadır. Bu çalışmada GraphQL sorgu geliştirme süreci, bu süreci kolaylaştırmak veya otomatikleştirmek için kullanılan araçlar, bu araçların kullandığı yöntemler ve sorgu geliştirme maliyetleri analiz edilmiştir. Bu maliyeti azaltmak için kodları otomatik oluşturan bir yöntem önerilmiş ve bu yöntemi kullanan bir araç geliştirilmiştir. Geliştirilen yöntemin etkinliği diğer yöntemlerle karşılaştırılmış, sayısal olarak incelenmiş ve yazılımcıları önemli miktardaki kodu tekrar yazmaktan kurtararak zamandan tasarruf sağladığı görülmüştür Nowadays, as a result of developing technology, increasing device diversity, and the total number of devices connected to the Internet, servers have started to receive more requests adversely affecting both network traffic and server response time. For eliminating these problems, in 2015, Facebook announced GraphQL technology allowing multiple tables, collections, or databases can be accessed instantly via a single request and a single answer. Therefore, the number of requests per device and the size of the data to be kept in the memory of the devices is reduced significantly. However, it is necessary to write code manually to create and run the GraphQL queries on the server part due to the lack of adequate code management and automation tools. Thus, it creates an additional workload for the developer. In this study, we have analyzed the tools used to automate or facilitate the query development process of GraphQL and compared the cost of query development. A new method and tool for generating GraphQL queries have been developed and its effectiveness has been compared to other methods and evaluated quantitively. The results show that the developers save time by avoiding the burden of writing many lines of code.