eBay ql.io, SQL untuk API Web

eBay mengumumkan ql.io, bahasa khusus pada domain tertentu yang menggabungkan SQL, JSON dan elemen prosedural untuk membuat bahasa yang padat untuk membuat request HTTP yang mengambil data, menggabungkan hasil dari request tersebut atau mengenerate response. Pengembang menjelaskan bahwa meskipun terinspirasi oleh SQL, ql.io bukan SQL, ql.io ditujukan bagi aplikasi klien yang mungkin harus menggabungkan data dari berbagai API dalam sebuah operasi atau sering kita kenal dengan sebutan mashup.

Proses mashup ini bisa menjadi hal yang kompleks bagi aplikasi klien karena pengembang harus fokus pada menulis kode yang melakukan request dengan urutan yang tepat, menangani interdependensi dan mencari cara bagaimana melakukannya secara paralel. Untuk mengatasi masalah ini, ql.io menawarkan runtime yang bisa berjalan sebagai gateway atau proxy untuk query yang kompleks tersebut, query yang bisa diekspersikan pada bahasa skrip deklaratif ql.io. Aplikasi klien cukup memanggil skrip yang telah dibuat lewat API HTTP skrip tersebut atau antarmuka soket dan sistem ql.io akan menggunakan sumberdayanya untuk melakukan langkah yang dibutuhkan untuk memberikan kembalian hasil secepat mungkin, membuat aplikasi klien lebih handal dan responsif.

Platform runtime ini dikembangkan diatas node.js, framework aplikasi web event-driven non-blocking berbasis JavaScript dan bisa diembed di aplikasi node.js. Ql.io skrip meskipun prosedural dapat dieksekusi dengan tidak untuk menangani dependensi dan dapat dijadwalkan untuk berjalan secara paralel berdasarkan analisis dependensi waktu kompilasi sambil berjalan.

Pengembang ql.io menjelaskan dalam pengumuman mereka bahwa sistem seharusnya mempermudah bagian-bagian yang menyulitkan, mengurangi jumlah baris kode yang dibutuhkan untuk melakukan sebuah query sehingga mengurangi waktu yang dibutuhkan pengembang dan mengurangi jumlah query dan request yang dilakukan antara aplikasi klien dan server dengan memadatkan request hanya ada field-field penting. Satu hal yang harus diingat bahwa ql.io tidak menggantikan framework API HTTP, ia didesain untuk menyederhanakan agregasi API HTTP baik yang baru maupun yang sudah ada. Model deployment yang fleksibel berarti dapat diposisikan dekat pada server API atau pada klien atau sebagai bagian dari klien tergantung bagaimana mana yang lebih hemat dari sisi jaringan.

Dikembangkan oleh platform engineering group eBay, kode sumber ql.io dihost di github dan dilepas dibawah lisensi Apache Licence 2.0. Dokumentasi dan contoh tersedia dari situs web ql.io.

Via : h-online open

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.