WEB APPICATION FRAMEWORK


WEB APPICATION FRAMEWORK


Sebelum mengenal lebih jauh mengenai Web Application Framework, ada baiknya kita mengetahui apa yang dimaksud dengan Framework. Framework adalah sekumpulan perintah/fungsi dasar yang dapat membantu dalam menyelesaikan proses-proses yang lebih kompleks, menangani berbagai masalah dalam pemrograman seperti koneksi database, pemanggilan variable, dll. Sehingga developer lebih fokus dan lebih cepat membangun aplikasi. Secara sederhana dapat dijelaskan bahwa framework adalah kumpulan fungsi-fungsi yang sudah ada sehingga programmer tidak perlu lagi membuat fungsi-fungsi (kumpulan library) dari awal, yang tentunya tinggal memanggil kumpulan library tersebut didalam framework. Fungsi-fungsi standar yang telah tersedia dalam suatu framework adalah fungsi paging, enkripsi, email, SEO, session, security, kalender, bahasa, manipulasi gambar, grafik, tabel bergaya zebra, validasi, upload, captcha, proteksi terhadap XSS (XSS filtering), template, kompresi, XML dan lain-lain.
Web Application Framework merupakan suatu kerangka kerja perangkat lunak yang dirancang untuk mendukung pengembangan situs dinamis, aplikasi berbasis web atau web service. Framework ini bertujuan untuk mengurangi overhead yang terkait dengan kegiatan umum yang biasa dilakuan dalam pengembangan web. Sebagai contoh, banyak kerangka yang menyediakan kumpulan class untuk mengakses database, template kerangka kerja dan manajemen sesi (session) dan kode bisa digunakan kembali (reusable). Pada intinya Web Application Framework dapat di jelaskan sebagai software framework yang didesain untuk mendukung pengembangan web dinamis, aplikasi web dan web service.

            Dari sekian banyak Web Application Framework yang beredar luas, ada 6 Web Appication Framework yang paling sering digunakan oleh programmer, antara lain:
1.      CakePHP
Framework ini mengusung konsep arsitektur MVC (Model-View-Controller) dan juga ORM (Object Relation Mapping). Aplikasi yang dibangun (build) dengan CakePHP bisa dijalankan/di-running di PHP4 ataupun PHP5. Dalam koneksi database framework ini mensupport MySQL, SQLLITE, PGSql, DB2 dan juga Oracle. Framework ini menyediakan modul tambahan berupa otentifikasi user, security, access control list sehingga memungkinkan membangun aplikasi dengan cepat. Selain itu CakePHP juga sudah mendukung javascript, AJAX, XML dan RSS dan email yang sudah terintegrasi dalam library-nya.
Namun support dokumentasi untuk framework ini masih kurang lengkap, meskipun begitu komunitas pengguna CakePHP semakin berkembang dengan pesat.
2.      CodeIgniter
CodeIgniter adalah sebuah framework aplikasi untuk membuat halaman atau aplikasi web berbasis PHP, dengan menggunakan framework ini, programmer tidak perlu mengetik ratusan baris kode untuk membangun sebuah aplikasi. Selain mudah digunakan, framework ini juga sangat cepat dan ringan. Dokumentasinya yang lengkap membuat framework ini mudah untuk dipelajari oleh pemula. CodeIgniter hampir memiliki kesamaan dengan CakePHP, framework ini mengusung konsep arsitektur MVC, namun framework ini belum mendukung ORM, Codeigniter menyediakan banyak sekali modul yang berguna di pengembangan web seperti session management, email, security (anti Xsrf), file management, image management dan XMLRPC. Keunggulan dari aplikasi besutan Ellislab ini adalah dokumentasi yang banyak dan lengkap serta terorganisis dengan baik sehingga framework ini mudah dipelajari, bersifat open source dan didukung oleh komunitas yang besar, selain itu bahasa yang digunakan juga lebih mudah dipahami dibandingkan cakePHP.
3.      Kohana
Kohana adalah framework PHP 5 yang menggunakan pola arsitektur Model View Controller (MVC). Keamanan, bobot dan kesederhanaanya menjadikan banyak programmer menggunakan aplikasi ini. MVC membuat logika aplikasi terpisah dari presentasi. Hal ini memungkinkan programmer untuk membuat kode lebih rapi dan menghemat waktu untuk mencari bug.
Pada awalnya framework ini merupakan pengembangan dari CodeIgniter, ada kesamaan antara CI dengan Kohana, namun semua script di Kohana telah ditulis ulang.
4.      Simphony
Symfony Framework adalah salah satu Framework PHP yang dibuat untuk mempercepat proses development sebuah website atau aplikasi berbasis web. Framework ini ditujukan untuk pengguna PHP5DAN mendukung berbagai koneksi database. Seperti framework yang disebutkan diatas, simphony juga mengusung konsep arsitektur MVC dan teknologi AJAX sudah terintegrasi di framework ini. Dalam hal dokumentasi, simphony telah memberikannya dengan cukup baik, namun yang menjadi kekurangan adalah proses installasi yang lebih rumit dibandingkan dengan cakePHP dan CodeIgniter.
5.      Zend Framework
Zend Framework adalah adalah framework open source dan berkualitas tinggi untuk membangun aplikasi web dan web service dengan PHP. Framework ini dikhususkan untuk pengembangan aplikasi web 2.0 dan untuk mempermudah dalam mengakses API dari situs2 besar seperti google, facebook, yahoo, flickr dsb. Sehingga tidak mengherankan kalau framework ini dibekali modul2 web 2.0, syndication, AJAX, web services, dan search.
6.      Yii Framework
Yii adalah kerangka kerja PHP berbasis-komponen dengan performa tinggi untuk pengembangan aplikasi Web berskala-besar. Ia menyediakan resuabilitas maksimum dalam pemrograman Web dan bisa mengakselerasi proses pengembangan secara signifikan. Kelebihan Yii melampaui PHP framework lain dalam hal efisiensi, lebih banyak fitur dan di dokumentasikan dengan jelas. Yii didesain dengan hati-hati dari awal agar sesuai untuk pengembangan aplikasi Web secara serius. Yii bukan berasal dari produk pada beberapa proyek maupun konglomerasi pekerjaan pihak ketiga. Yii adalah hasil dari pengalaman kaya para pembuat pada pengembangan aplikasi Web dan investigasi serta refleksi kerangka kerja pemrograman Web paling populer dan aplikasi.

            Framework .NET adalah suatu komponen windows yang terintegrasi dan dibuat dengan tujuan untuk mendukung (men-support) pengembangan berbagai macam jenis aplikasi serta untuk dapat mejalankan berbagai macam aplikasi generasi mendatang termasuk pengembangan aplikasi Web Services XML. Framework .NET di desain untuk dapat memenuhi beberapa tujuan berikut ini :
1.      Menyediakan environment kerja yang konsisten bagi bahasa pemrograman yang berorientasi objek (object oriented programming – OOP) baik kode objek itu di simpan dan di eksekusi secara lokal, atau dieksekusi secara lokal tapi didistribusikan melalui internet atau dieksekusi secara remote.
2.      Menyediakan environment kerja di dalam mengeksekusi kode yang dapat meminimaliasi proses software deployment dan menghindari konflik penggunaan versi software yang di buat.
3.      Menyediakan environment kerja yang aman dalam hal pengeksekusian kode, termasuk kode yang dibuat oleh pihak ketiga (third party).
4.      Menyediakan environment kerja yang dapat mengurangi masalah pada persoalan performa dari kode atau dari lingkungan interpreter nya.
5.      Membuat para developer lebih mudah mengembangkan berbagai macam jenis aplikasi yang lebih bervariasi, seperti aplikasi berbasis windows dan aplikasi berbasis web.
6.      Membangun semua komunikasi yang ada di dalam standar industri untuk memastikan bahwa semua kode aplikasi yang berbasis Framework .NET dapat berintegrasi dengan berbagai macam kode aplikasi lain.
            Microsoft .NET Framework adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft Windows atau telah terintegrasi ke dalam Windows (mulai dari Windows Server 2003 dan versi-versi Windows terbaru). Kerangka kerja ini menyediakan sejumlah besar solusi-solusi program untuk memenuhi kebutuhan-kebutuhan umum suatu program baru dan mengatur eksekusi program-program yang ditulis secara khusus untuk framework ini. Framework .NET adalah kunci penawaran utama dari Microsoft dan diperuntukkan untuk digunakan oleh sebagian besar aplikasi-aplikasi baru yang dibuat untuk platform Windows.
            Umumnya komputer hanya memiliki satu bahasa yaitu (assembly), maka ketika mengembangkan sebuah aplikasi dengan bahasa .Net komputer tidak akan memahami bahasa tersebut. Oleh sebab itu diperlukan sebuah software (penerjemah) untuk bisa menjalankannya. Ada  beberapa software tidak bisa berjalan dengan baik (error) pada sebuah komputer, apabila bahasa yang digunakannya berbeda dan ini adalah kegunaan dari .Net Framework sebagai penerjemah bahasa tersebut. Dapat disimpulkan bahwa fungsi utama dari .Net Framework yaitu sebagai penerjemah atau mengeksekusi sebuah software agar dapat dijalankan. 



Tambahan (Kata yang mungkin sulit dipahami):
1.      AJAX adalah singkatan dari Asynchronous JavaScript dan XML, yang merupakan  istilah yang menggambarkan sebuah teknik pengembangan web untuk menciptakan aplikasi web interaktif menggunakan kombinasi: HTML (atau XHTML) dan Cascading Style Sheets untuk Informasi Dokumen Model dan menyajikan Obyek.
2.      Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain.
3.      MVC (Model View Controller) adalah sebuah pola pemrograman dengan memisahkan antara data (model), proses (controller) dan tampilan (view). Keuntungan menggunakan konsep ini adalah kemudahan dalam maintenance dan pengembangan lebih lanjut dalam sebuah aplikasi.
4.      ORM (Object Relation Mapping) meruupakan sebuah teknik pemrograman yang memetakan sebuah objek dengan database. ORM akan menjadi penghubung antara objek yang didefinisikan dalam kode program dengan database, bagaimana objek itu disimpan, diambil, dihapus dan sebagainya. Dengan ORM, programmer dibantu untuk melakukan aksi-aksi yang diperlukan terkait komunikasi objek ketika program dijalankan dengan database seperti menyimpan objek, mengambil data objek dari database kemudian ditampilkan, menghapus objek, mengubah objek dan sebagainya.
5.      SEO adalah kependekan dari Search Engine Optimization, suatu teknik agar website yang kita buat mudah ditemukan melalui search engine seperti Google.
6.      XML RPC adalah salah satu bentuk sederhana implementasi teknologi RPC yang menggunakan XML sebagai type marshalling serta HTTP sebagai protokol transport dan pengalamatan servernya.
7.      XSS merupakan suatu cara untuk memasukan / menginjeksikan kode-kode HTML ke suatu situs dengan menggunakan browser. Teknik ini umumnya digunakan oleh attacker untuk diberikan ke target untuk membuka dengan tujuan yang beragam misalnya untuk social engineering.

0 komentar:

Posting Komentar