Sebelum kita membuat aplkasi java web, ada baiknya kita mengenali dan memahami konsep java web progamming terlebih dahulu, di artikel ini menjelaskan gambaran umum tentang dasar - dasar java web progamming , seperti pengertian Java Web Component, Web Container, Web Application, Servlet, Framework, Spring, MVC, WAR Files dan Software yang digunakan untuk pengembangan web application.
1. Web Component
Web Component adalah komponen - komponen java yang digunakan untuk membuat aplikasi web seperti Servlet dan JSP. Web component dapat berkomunikasi dengan komponen java lain serta memanfaatkannya, seperti menggunakan komponen JDBC untuk mengakses database, komponen JMS dan Java Mail untuk mengirim email.
2. Web Container
Web Container adalah web server berbasis java yang menampung web component serta menyediakan layanan bagi web component seperti request dispatching, security, serta lifescyle management.
Beberapa pembuat Web Container antara lain :
- Free software : Apache Tomcat, JResin, Jetty, Sun Glassfish.
- Sun SJSAS, JBoss, IBM WEbsphere, Oracle Weblogic.
Salah satu free software ERP yang menggunakan web container Apache Tomcat adalah Compiere dan Adampiere.
3. Web Application
Web Application adalah sebuah paket aplikasi yang siap di deploy (instal) ke web container. Web application terdiri dari :
- Web Component (Servlet, JSP, dll).
- File - file seperti HTML dan Gambar.
- Library : Driver Database, JTSL, dll.
- Deployment descriptor (web.xml).
Paket aplikasi berbentuk 1 file berekstensi *.war (web archive), setelah dideploy akan terekstrak menjadi file - file dengan struktur khusus seperti gambar berikut.
4. Servlet
Servlet adalah sebuah API dalam pemrogramman java yang mempermudah para developer untuk menambahkan konten - konten dinamis dalam sebuah web server yang memgimplementasikan platform java.
Konten yang dihasilkan dari Servle API ini pada umumnya berupa HTML, tetapi tidak menutup kemungkinan untuk menghasilkan konten XML, dan konten - konten yang lain. Servlet sendiri dibuat untuk menandingi teknologi - teknologi konten web yang dinamis lainnya seperti PHP, GGL, ASP Net.
5. Framework
Framework adalah kerangka kerja. Framework dapat juga diartikan sebagai kumpulan script (terutama class dan function) yang dapat membantu developer/programmer dalam menangani berbagai masalah - masalah dalam pemrograman seperti koneksi ke database, pemanggilan variable, file, dll sehingga developer/programmer lebih fokus dan lebih cepat membangun aplikasi.
Bisa juga dikatakan framework sebagai modul - modul yang dibuat untuk memudahkan pembuatan program J2EE. Framework ini juga berisi guideline bagaimana membuat program J2EE yang sudah tersusun dengan rapi dan didalamnya sudah berisi MVC. Secara sederhana bisa dijelaskan bahwa framework adalah kumpulan fungsi (libraries), maka seorang developer/programmer tidak perlu lagi membuat fungsi - fungsi (biasanya disebut kumpulan library) dari awal, developer/programmer tinggal memanggil kumpulan library atau fungsi yang sudah ada didalam framework, tentunya cara menggunakan fungsi - fungsi ini sudah ditentukan oleh framework.
Beberapa contoh 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.
6. Spring
Spring atau tepatnya SpringMVC adalah teknologi yang memisahkan data, business logic, dan presentation layer. SpringMVC yang terdiri dari IOC(Injection Of Control) atau Dependency Ijection telah membuat framework MVC dapat saling dipertukarkan. Teknologi lain yang berkembang sebelum SpringMVC adalah Struts, WebWork, Tapestry, JSF, dan Stripes.
Spring merupakan sebuah framework (kerangka kerja) yang digunakan untuk membangun sebuah aplikasi Enterpise. Spring termasuk framework yang lightweight (ringan) untuk mendukung secara penuh dalam pengembangan aplikasi Enterpise siap pakai. Spring dapat digunakan untuk melakukan pengaturan deklarasi manajemen transaksi, remote acces dengan menggunakan RMI atau layanan web lainnya, fasilitas mailing, dan beragam opsi untuk pengaturan data ke database.
Spring juga memungkinkan kita mnggunakan hanya modul - modul tertentu sehingga kita tidak usah menggunakan semua modul spring dalam aplikasi apabila tidak ditemukan.
7. MVC (Model View Controller)
MVC adalah model pembuatan sistem/program yang memisahkannya menjadi Model, View, dan Controller. Contoh MVC adalah struts, hibernate, spring, dll. Konsep MVC diciptakan agar tanggung jawab tiap individu didalam tim pengembang software menjadi jelas. Konsep MVC membagi tugas sebagai berikut :
- Programmer berfokus pada controler yang mengatur DFD (Data Flow Diagram) atau proses bisnis dari suatu aplikasi web.
- DBA berfokus pada model yang menyusun ERD (Entity Relationship Diagram) dalam bentuk ORM (Object Relationship Mapping).
- Designer berfokus pada view (estetika) dari tampilan web saja.
Alur MVC pada aplikasi Java Web adalah :
- Web browser mengirim request ke web controller dan diterima oleh Servlet sebagai Controller.
- Controler bertugas mengecek request bila diproses, output yang dihasilkan controller bisa berbentuk obyek.
- Model bertugas mempresentasikan data - data pada database dalam bentuk obyek - obyek yang saling berhubungan.
- View mengambil data berbentuk obyek lalu memprosesnya.
- View mengirimkan response ke web browser untuk menampilkan data dengan syntax EL dan library JSTL.
8. WAR Files
Sebuah aplikasi web merupakan sekelompok halaman HTML, halaman JSP, servlet, source file, yang dapat dikelola sebagai satu kesatuan unit. Web archive (WAR) file merupakan sebuah package dari web application. File WAR|dapat digunakan untuk mengimpor aplikasi web ke web server.
Selain project ressource, WAR files berisikan file descriptor dari deployment. Web deployment descriptor adalah sebuah file XML, yang berisikan informasi deployment, tipe MIME, rincian konfigurasi session, dan pengaturan lainnya pada aplikasi web. Web deployment descriptor file (web.xml) memberikan informasi mengenai WAR files yang telah dibagikan oleh para pengembang aplikasi, perakit, dan pengembang dalam lingkungan Java EE.
9. Software Yang Dibutuhkan Untuk Pengembangan Aplikasi
Untuk melakukan pengembangan sebuah aplikasi berasis java web programming dibutuhkan beberapa software, antara lain :
- JDK. 1.8
- Netbeans IDE 8.2 (include Apache Tomcat).
- XAMPP.
- Browser (firefox, chrome dll).
Demikianlah tentang perkenalan konsep dasar - dasar java web programming, untuk bisa memahami, tentu saja kita harus sering berlatih membuat program, tidak hanya membaca dan menonton tutorial saja. Untuk tutorial java lainnya bisa dilihat disini. Dan jangan lupa bagikan website ini di sosial media kalian sebagai wujud apresiasi kalian terhadap website ini.
ConversionConversion EmoticonEmoticon