Pengembangan Aplikasi Web Dengan XQuery

Pengembangan Aplikasi Web Dengan XQuery – XQuery dikenal luas sebagai bahasa query untuk XML. Dalam domain pengembangan aplikasi webdi mana tumpukan teknologi klasik adalah database relasional yang dapat diakses melalui SQL yang dipasangkan dengan salah satu dari beberapa bahasa pemrograman populer (Java, bahasa .NET, Perl, PHP, Python, Ruby, dll.)ada jauh kurangnya kesadaran bahwa XQuery sebenarnya adalah bahasa pemrograman fungsional yang lengkap.

Pengembangan Aplikasi Web Dengan XQuery

zorba-xquery – Bahkan yang kurang dikenali adalah fakta bahwa XQuery, dengan jumlah terbatas dari ekstensi yang disediakan implementasi, dapat berfungsi dalam konteks pengembangan web baik sebagai bahasa kueri basis data dan bahasa pemrograman sisi server.

Saat menjelaskan XQuery kepada pengembang web atau manajer proyek yang terbiasa dengan tumpukan teknologi klasik, tergoda untuk mendefinisikan XQuery dengan cara yang dapat dengan mudah dipahami oleh seseorang dalam konteks itu: XQuery adalah untuk database XML seperti SQL untuk database relasional. Analogi yang lumrah ini pada awalnya tampak cukup berbahaya, tetapi sebenarnya menyesatkan dan kontra-produktif jika tidak segera dikualifikasikan dan diperluas. Mendefinisikan XQuery sebagai bahasa kueri untuk XML adalah kebenaran tetapi tidak keseluruhan kebenaran.

Baca Juga : Contoh Catatan Untuk Algoritme Perluasan Query

Bila Anda memiliki data dalam bentuk XML yang perlu dikirimkan dalam beberapa cara di web, menggunakan XQuery sebagai bahasa pemrograman sisi server memiliki keuntungan praktis yang signifikan. Setelah menjelaskan secara singkat keuntungan tersebut, makalah ini akan memaparkan teknik untuk mengembangkan aplikasi web di XQueryteknik yang dapat mengurangi kompleksitas dan membantu pengembang menghasilkan kode portabel yang terorganisir dengan baik, dapat diuji, yang akan relatif mudah untuk dibangun dan dipelihara dari waktu ke waktu.

Keuntungan XQuery untuk pengiriman web konten XML

XQuery secara khusus dirancang untuk bekerja erat dengan data XML secara asli. Tidak perlu menyediakan pemetaan antara data dan bahasa pemrograman, seperti “pemetaan objek-relasional” yang secara inheren diperlukan ketika bekerja dalam bahasa pemrograman berorientasi objek dalam hubungannya dengan database relasional. Padahal, kebutuhan akan pemetaan semacam itu tidak terbatas pada data relasional; sejenis pemetaan analogsebut saja “pemetaan dokumen-objek”sama-sama diperlukan saat menggunakan bahasa berorientasi objek untuk bekerja dengan data dalam bentuk XML.

Apakah relasional atau berbasis XML, model data masih harus diterjemahkan atau dipetakan ke fasilitas dan kemampuan bahasa pemrograman. Yang satu tidak dirancang secara inheren untuk bekerja dengan yang lain, dan faktanya data dan bahasa bertabrakan dalam “benturan paradigma” , menghasilkan apa yang disebut “ketidakcocokan impedansi” . Kesenjangan antara data dan bahasa ini harus dijembatani, menambahkan lapisan kompleksitas ke tumpukan teknologi aplikasi web. Dengan XQuery, tidak ada kesenjangan bahasa data dan oleh karena itu tidak ada jembatan.

Jika Anda tidak membutuhkan jembatan, maka Anda tidak memerlukan kerangka kerja pengembangan web (Ruby on Rails, CakePHP, Django, dll.) untuk menyediakannya. Meskipun kerangka kerja semacam itu biasanya menyediakan layanan selain pemetaan relasional objek (perancah, templating, dll, semua hal dipertimbangkan, menghindari kerangka kerja ini sebenarnya memberikan keuntungan nyata dengan sepenuhnya menghindari lapisan kompleksitas yang dapat kerangka kerja hanya menyembunyikan, tidak menghilangkan . Kerangka kerja semacam itu tidak hanya mengunci pengembang ke dalam asumsi dan persyaratan yang didukung kerangka kerja, tetapi juga selalu berkembang seiring waktu, terkadang dengan cepat.

Cepat atau lambat menjadi perlu untuk mengupgrade kerangka itu sendiri, baik karena ada alasan kuat (seperti fitur baru atau perbaikan bug yang diperlukan) atau karena ada kebutuhan mutlak (seperti ketidakcocokan antara kerangka dan perubahan lingkungan, seperti versi yang lebih baru dari server database, bahasa pemrograman atau sistem operasi). Kompleksitas teknologi yang melekat dan beberapa bagian yang bergerak dari kerangka kerja pengembangan web tertentu pada akhirnya dapat menempatkan pengembang ke dalam catatan rilis, peningkatan, fitur yang tidak digunakan lagi, dan ketidakcocokanyang semuanya menambah waktu yang dihabiskan hanya untuk pemeliharaan daripada pemfaktoran ulang yang disengaja atau pengembangan fungsionalitas baru atau yang ditingkatkan.

Sebaliknya, spesifikasi inti terkait XMLtermasuk XQuery dan spesifikasi yang menyertai dan mendukungnyatelah terbukti sangat stabil. Evolusi mereka telah ditandai tidak hanya oleh pembaruan yang jarang tetapi juga oleh kompatibilitas ke belakang tingkat tinggi. dan inkompatibilitassemuanya menambah waktu yang dihabiskan hanya untuk pemeliharaan daripada pemfaktoran ulang yang disengaja atau pengembangan fungsionalitas baru atau yang ditingkatkan.

Sebaliknya, spesifikasi inti terkait XMLtermasuk XQuery dan spesifikasi yang menyertai dan mendukungnyatelah terbukti sangat stabil. Evolusi mereka telah ditandai tidak hanya oleh pembaruan yang jarang tetapi juga oleh kompatibilitas ke belakang tingkat tinggi. dan inkompatibilitassemuanya menambah waktu yang dihabiskan hanya untuk pemeliharaan daripada pemfaktoran ulang yang disengaja atau pengembangan fungsionalitas baru atau yang ditingkatkan.

Sebaliknya, spesifikasi inti terkait XMLtermasuk XQuery dan spesifikasi yang menyertai dan mendukungnyatelah terbukti sangat stabil. Evolusi mereka telah ditandai tidak hanya oleh pembaruan yang jarang tetapi juga oleh kompatibilitas ke belakang tingkat tinggi. spesifikasi inti terkait XMLtermasuk XQuery dan spesifikasi yang menyertai dan mendukungnyatelah terbukti sangat stabil.

Evolusi mereka telah ditandai tidak hanya oleh pembaruan yang jarang tetapi juga oleh kompatibilitas ke belakang tingkat tinggi. spesifikasi inti terkait XMLtermasuk XQuery dan spesifikasi yang menyertai dan mendukungnyatelah terbukti sangat stabil. Evolusi mereka telah ditandai tidak hanya oleh pembaruan yang jarang tetapi juga oleh kompatibilitas ke belakang tingkat tinggi.

Teknik untuk pengembangan aplikasi web dengan XQuery

Memanfaatkan MVC

Terlepas dari kelemahan kerangka kerja pengembangan web yang baru saja dijelaskan, ada satu fitur umum yang sama relevannya untuk pengembangan web XQuery seperti halnya bahasa lainnya: pemanfaatan MVC (model, tampilan, pengontrol). Ada banyak sumber daya yang tersedia dengan berbagai kedalaman, dari buku hingga posting blog, yang menggambarkan MVC, termasuk dan terutama dalam domain pengembangan aplikasi web, di mana penggunaan MVC telah menjadi sangat populer sejak munculnya Ruby on Rails. Masalahnya adalah bahwa sebagai sebuah konsep, MVC bersifat umum dan cukup fleksibel untuk memungkinkan banyak kemungkinan variasi ketika konsep tersebut dipraktikkan.

Berbagai metodologi telah berkembang biak, meninggalkan seluruh gagasan tentang MVC tampak agak misterius bagi yang belum tahudan bagi yang sudah diinisiasi, dalam hal ini. (Seperti pepatah, tanyakan kepada lima pengembang web bagaimana mereka menggunakan MVC dan Anda akan mendapatkan enam jawaban yang berbeda.) MVC biasanya disebut “arsitektur”, tetapi istilah itu sudah terlalu terbebani dan karenanya tidak mencerahkan. Namun, banyak dari kebingungan ini tidak perlu, Jika untuk saat ini kita mengesampingkan variasi dan elaborasi MVC, beberapa prinsip inti tetap ada. Model memahami bagaimana data direpresentasikan (dimodelkan) dan menangani interaksi database. Tampilan membangun presentasi data kepada pengguna. Pengendali menerima masukan dan merespons sesuai dengan itu, memanfaatkan model dan tampilan untuk melakukannya.

Model

Model bertanggung jawab untuk berinteraksi dengan database; tidak ada komponen lain yang boleh membuat, membaca, memperbarui, atau menghapus data (pikirkan “tidak ada CRUD di luar model”). Dalam pengertian ini ia bertindak sebagai semacam API (atau seperti objek yang dienkapsulasi, dalam istilah berorientasi objek), yang dipanggil oleh modul lain tanpa perlu mengetahui apa pun tentang database atau cara berinteraksi dengannya. Idealnya pemisahan masalah ini diberlakukan hingga seseorang dapat menukar server basis data yang mendasarinya dengan yang berbeda tanpa menyentuh kode apa pun di pengontrol atau tampilan.

Melihat

Peran tampilan adalah untuk menyediakan presentasi, baik untuk keterbacaan manusia atau mesin. Misalnya, pola yang sangat umum (digunakan oleh semua jenis aplikasi web dari Amazon hingga Zappos) adalah untuk menyediakan pencarian, yang mengarah ke hasil pencarian, yang mengarah ke halaman tingkat item yang menampilkan semua informasi yang relevan untuk item tertentu. Dalam pendekatan ini, halaman beranda yang berisi formulir pencarian, halaman hasil pencarian, dan halaman tingkat item adalah tampilan terpisah, masing-masing diimplementasikan sebagai modul pustaka XQuery sendiri (semuanya dapat dikelompokkan dalam satuviewsdirektori). Dalam aplikasi web yang dirancang untuk ditampilkan di browser, sebagian besar tampilan akan mengembalikan dokumen HTML, sedangkan layanan web mungkin mengembalikan data sebagai JSON atau XML, yang tetap merupakan tampilan.

Facebooktwitterredditpinteresttumblr