• Tidak ada hasil yang ditemukan

Aplikasi Berbasis Web

Dalam dokumen Dr. Ir. Agus Wibowo, M.Kom, M.Si, MM (Halaman 181-186)

BAB 8 APLIKASI WEB

8.1 Aplikasi Berbasis Web

Java Enterprise Edition (J2EE) adalah hasil dari upaya Sun untuk mengintegrasikan berbagai macam teknologi Java dan antarmuka pemrograman aplikasi (API) bersama-sama ke dalam platform pengembangan Java yang kohesif untuk mengembangkan aplikasi Java terdistribusi yang kompleks. Model untuk Java, dikombinasikan dengan pengenalan fungsionalitas khusus untuk memungkinkan pengembangan yang lebih mudah dari aplikasi perusahaan berbasis Web sisi server yang dapat diskalakan, telah menyebabkan adopsi Java secara luas untuk pengembangan aplikasi yang berpusat pada Web.

Pengembangan aplikasi perusahaan memerlukan keahlian dalam sejumlah bidang seperti komunikasi antar-proses, manajemen memori, masalah keamanan, dan kueri akses khusus basis data. J2EE menyediakan dukungan bawaan untuk layanan di semua bidang ini, memungkinkan pengembang untuk fokus pada penerapan logika bisnis daripada kode rumit yang mendukung infrastruktur pendukung aplikasi dasar.

Ada banyak keuntungan dari pengembangan aplikasi di area J2EE:

 J2EE menawarkan dukungan untuk komponenisasi aplikasi perusahaan yang memungkinkan produktivitas lebih tinggi melalui penggunaan kembali komponen, pengembangan cepat aplikasi yang berfungsi melalui komponen fungsional yang telah dibuat sebelumnya, pengembangan berbasis pengujian berkualitas lebih tinggi melalui komponen yang telah diuji sebelumnya, dan perawatan yang lebih mudah melalui peningkatan yang hemat biaya untuk masing-masing komponen.

 J2EE menawarkan dukungan untuk independensi perangkat keras dan sistem operasi (OS) dengan memungkinkan layanan sistem diakses melalui Java dan J2EE daripada langsung melalui API khusus untuk sistem yang mendasarinya.

 J2EE menawarkan berbagai macam API untuk mengakses dan berintegrasi dengan produk pihak ketiga secara konsisten, termasuk database, sistem surat, dan platform pesan.

 J2EE menawarkan pemisahan yang jelas antara pengembangan sistem, penyebaran, dan eksekusi, sehingga memungkinkan pengembangan independen, integrasi, dan peningkatan komponen.

 J2EE menawarkan komponen khusus yang dioptimalkan untuk jenis peran tertentu dalam aplikasi perusahaan, seperti Entity Beans untuk menangani data persisten dan Session Beans untuk menangani pemrosesan.

Semua fitur memungkinkan pengembangan yang cepat dari aplikasi terdistribusi yang kompleks dengan memungkinkan pengembang untuk fokus pada pengembangan logika bisnis, mengimplementasikan sistem tanpa terpengaruh oleh pengetahuan sebelumnya tentang lingkungan eksekusi target dan menciptakan sistem yang dapat di-porting dengan lebih mudah. antara platform perangkat keras dan sistem operasi (OS) yang berbeda.

8.1.1 Arsitektur Referensi

Tujuan dari fleksibilitas dan reusability dapat dicapai terutama pada dua tingkat:

tingkat arsitektur aplikasi dan tingkat desain komponen aplikasi.Arsitektur referensi adalah visi dari arsitektur aplikasi yang mengintegrasikan elemen umum ke dalam model struktur komponen. Dari sudut pandang teknis, arsitektur memposisikan organisasi pengembangan untuk secara otomatis memenuhi persyaratan benchmark tepat waktu, fleksibilitas, dan kinerja.

Satu set elemen kunci mendorong definisi arsitektur referensi, yang feromagnetik dari tiga lapisan, yaitu, objek bisnis, berorientasi proses atau objek berbasis layanan, dan lapisan antarmuka pengguna.

Elemen-elemen yang mendefinisikan aplikasi perusahaan adalah sebagai berikut:

 Entitas bisnis adalah fokus dari aplikasi perusahaan. Ini berkisar dari entitas tingkat atas seperti pelanggan atau pemasok hingga entitas tingkat bawah seperti pesanan pembelian, pesanan penjualan, atau bahkan item baris tingkat individu dari pesanan ini Entitas berpartisipasi dalam proses bisnis, memiliki atribut atau properti, memiliki metode untuk menanggapi permintaan informasi, dan memiliki serangkaian kebijakan atau aturan yang dapat diterapkan yang berbeda. Snapshot dari semua atribut.

 Proses bisnis menjalankan tugas-tugas perusahaan Mereka memiliki semacam alur kerja tertentu dan pada dasarnya melibatkan satu atau lebih entitas bisnis Mereka harus dijalankan dengan cara yang aman dan juga harus dapat diakses melalui sejumlah antarmuka pengguna atau perangkat atau klien.

 Interaksi pengguna melakukan akses dan tampilan informasi yang terkait dengan entitas bisnis sebagai hasil dari beberapa proses bisnis untuk diteliti oleh pengguna aplikasi perusahaan. Ini pada dasarnya melibatkan beberapa jenis aliran layar atau navigasi halaman, atribut untuk presentasi, permintaan pengguna, atau tanggapan yang dihasilkan, yaitu, konten statis atau dinamis, pemrosesan berorientasi bentuk,

dan penanganan kesalahan. Interaksi pengguna dapat melalui sejumlah antarmuka pengguna atau perangkat atau klien.

Masing-masing elemen memunculkan tiga lapisan arsitektur utama dari arsitektur referensi. Lapisan ini bisa berada pada lapisan fisik yang sama atau didistribusikan di seluruh jaringan. Gambar 8.1 menyajikan tiga lapisan arsitektur yang merupakan arsitektur referensi.

8.1.1.1 Arsitektur Interaksi Pengguna

Dalam aplikasi berbasis Web, lapisan ini akan memproses. Dalam platform J2EE, ini biasanya diimplementasikan sebagai kombinasi dari servlet dan Java Server Pages (JSP). Pengiriman formulir HTML, mengelola status dalam aplikasi, menghasilkan Web konten halaman, dan navigasi kontrol antar halaman. Banyak fungsi dalam lapisan ini dapat diotomatisasi melalui komponen fondasi yang dapat dikonfigurasi.

8.1.1.2 Arsitektur Berbasis Layanan

Dalam platform J2EE, ini biasanya diimplementasikan sebagai objek berorientasi proses yang dibungkus dengan Session Bean tanpa status. Konsep layanan memungkinkan ujung depan dipisahkan dari komponen objek bisnis back-end. Lapisan berbasis layanan menambah nilai yang luar biasa dalam hal fleksibilitas, penggunaan kembali, dan desain komponen.

8.1.1.3 Arsitektur Objek Bisnis

Di platform J2EE, ini biasanya Diimplementasikan sebagai kombinasi kelas Java reguler dan Entity Beans dalam aplikasi J2EE. Akses database dapat diimplementasikan oleh container dalam kasus Entity Beans CMP (Container-Managed Persistence) atau oleh pengembang dalam kasus BMP (Bean- Managed Persistence) Entity Beans atau kelas Java reguler Persistensi setiap objek bisnis diabstraksikan sejauh mungkin sehingga objek data terpisah, kerangka kerja persisten, atau layanan CMP dapat digunakan untuk mempengaruhi persistensi objek data dalam database.

Gambar 8.1 Aplikasi Enterprise di J2EE.

Sebagian besar arsitektur referensi adalah implementasi generik dan dapat dikonfigurasi dari arsitektur Model 2 yang dibahas kemudian di bagian berikut.

8.1.2 Realisasi Arsitektur Referensi di J2EE

Platform J2EE menyediakan pendekatan berbasis komponen untuk mengimplementasikan aplikasi perusahaan terdistribusi n-tier Gambar 15.1 menunjukkan bagaimana komponen J2EE menyediakan implementasi untuk lapisan berbeda dari arsitektur referensi.

Kontainer digunakan untuk menyediakan layanan tipe infrastruktur seperti manajemen siklus hidup, distribusi, dan keamanan. Kontainer dan komponen dalam aplikasi J2EE dibagi secara luas. Fungsi kontainer Web adalah untuk memproses permintaan klien.

Tingkat menengah berisi dua wadah utama aplikasi J2EE, yaitu wadah Web dan wadah EJB.

Tingkat EIS terutama terdiri dari sumber data dan sejumlah antarmuka dan API untuk mengakses sumber daya dan aplikasi lama atau lama lainnya.

8.1.2.1 Halaman JavaServer dan Java Servlet sebagai Komponen Interaksi Pengguna JSP dan Java Servlet dimaksudkan untuk memproses dan menanggapi permintaan pengguna Web. Servlet menyediakan pendekatan pemrograman Java-sentris untuk mengimplementasikan fungsionalitas tingkat Web. Servlet API menyediakan serangkaian objek yang mudah digunakan yang memproses permintaan HTTP dan menghasilkan HTML / Respons XML. JSP menyediakan versi HTML-sentris dari Java Servlet. Komponen JSP lebih berbasis dokumen daripada berbasis objek dan memiliki akses bawaan ke objek permintaan dan respons API Servlet sebagai juga objek sesi pengguna. JSP juga menyediakan kustom yang kuat mekanisme tag,

memungkinkan enkapsulasi kode presentasi Java yang dapat digunakan kembali yang dapat ditempatkan langsung ke dalam dokumen JSP.

8.1.2.2 Session Bean EJB sebagai Komponen Berbasis Layanan

Session Beans dimaksudkan untuk mewakili layanan yang diberikan kepada klien. Tidak seperti Entity Beans, Session Beans tidak berbagi data di beberapa klien—

setiap pengguna yang meminta layanan atau menjalankan transaksi memanggil Session Bean terpisah untuk memproses permintaan. Sesi tanpa kewarganegaraan Bean, setelah memproses permintaan, melanjutkan ke permintaan berikutnya atau klien berikutnya tanpa memelihara atau berbagi data. Di sisi lain, Kacang Sesi stateful sering dibangun untuk klien tertentu dan mempertahankan status di seluruh pemanggilan metode untuk satu klien sampai komponen tersebut dihilangkan.

8.1.2.3 Entity Bean EJB sebagai Komponen Objek Bisnis

Entity Beans dimaksudkan untuk mewakili entitas data persisten dalam aplikasi perusahaan. Salah satu layanan komponen utama yang disediakan untuk Entity Beans adalah Container-Managed Persistence (CMP). Namun, dalam spesifikasi EJB 2.0, persistensi CMP terbatas pada Satu tabel Pemetaan objek-relasional yang melibatkan lebih dari satu tabel-objek pemetaan hanya didukung melalui Bean-Managed Persistence (BMP).

8.1.2.4 Komponen Java Terdistribusi

Java Naming and Directory Interface (JNDI) memungkinkan penamaan dan distribusi komponen Java dalam arsitektur referensi. JNDI dapat digunakan untuk menyimpan dan mengambil objek Java apa pun. Namun, JNDI biasanya digunakan untuk mencari antarmuka komponen (rumah atau jarak jauh) untuk enterprise beans.

Klien menggunakan JNDI untuk mencari antarmuka EJB Home yang sesuai, yang memungkinkan pembuatan, akses, atau penghapusan instance Session dan Entity Beans.

Dalam kasus Entity Bean lokal, pemanggilan metode diproksikan langsung ke implementasi bean, sedangkan dalam kasus Entity Beans jarak jauh, antarmuka Home digunakan untuk mendapatkan akses ke antarmuka jarak jauh untuk memanggil metode yang diekspos menggunakan Remote Method Invocation (RMI). Antarmuka jarak jauh mengambil panggilan metode lokal, membuat serial objek yang akan Objek serial ini diubah kembali menjadi objek normal untuk memanggil metode untuk mengembalikan nilai yang dihasilkan di mana proses dibalik untuk mengembalikan nilai kembali ke klien antarmuka jarak jauh.

8.1.2.5 J2EE Akses ke EIS (Sistem Informasi Perusahaan) Tingkat

J2EE menyediakan sejumlah antarmuka dan API untuk mengakses sumber daya di tingkat EIS. Penggunaan JDBC API dienkapsulasi terutama di lapisan akses data atau di dalam kelas CMP dari Entity Bean. Sumber data yang dipetakan ke database didefinisikan di JDBC Hal ini memungkinkan server aplikasi J2EE untuk menyediakan penyatuan koneksi ke sumber daya data yang berbeda, yang harus ditutup dengan tepat segera setelah tugas selesai untuk mencegah kemacetan.

Berbagai antarmuka dan API J2EE yang tersedia adalah sebagai berikut:

 Arsitektur Konektor Java menyediakan cara standar untuk membangun adaptor untuk mengakses aplikasi perusahaan yang ada.

 JavaMail API menyediakan cara standar untuk mengakses aplikasi server email.

Java Message Service (JMS) menyediakan antarmuka standar untuk sistem pesan perusahaan JMS memungkinkan komunikasi asinkron yang andal dengan komponen terdistribusi lainnya JMS digunakan oleh Message-Driven Beans (MDBs) untuk melakukan pemrosesan pesan asinkron atau paralel.

8.1.3 Model–Tampilan–Arsitektur Pengontrol

Arsitektur Model 2 didasarkan pada pola desain Model–View–Controller (MVC).

Implementasi MVC generik adalah elemen penting dari arsitektur referensi karena menyediakan fondasi yang fleksibel dan dapat digunakan kembali untuk pengembangan aplikasi berbasis Web yang sangat cepat. Komponen-komponen arsitektur MVC adalah sebagai berikut:

 Lihat penawaran dengan tampilan pada layar yang disajikan kepada pengguna.

 Controller berurusan dengan aliran dan pemrosesan tindakan pengguna.

 Model berhubungan dengan logika bisnis.

Arsitektur MVC memodulasi dan mengisolasi logika layar, logika kontrol, dan logika bisnis untuk mencapai fleksibilitas dan peluang yang lebih besar untuk digunakan kembali.

Titik isolasi kritis adalah antara objek presentasi dan objek back-end aplikasi yang mengelola logika bisnis dan data. Ini memungkinkan antarmuka pengguna untuk memengaruhi perubahan besar pada layar tampilan tanpa memengaruhi logika bisnis dan komponen data.

Tampilan tidak berisi sumber data dan bergantung pada model untuk menyediakan data yang relevan. Saat model memperbarui data, model memberi tahu dan juga melengkapi data yang diubah ke tampilan sehingga dapat merender ulang tampilan kepada pengguna dengan data terkini dan data yang benar.

Pengontrol menyalurkan informasi dari tampilan tindakan pengguna untuk diproses oleh logika bisnis dalam model. Pengontrol memungkinkan desain aplikasi untuk secara fleksibel menangani hal-hal seperti navigasi halaman dan akses ke fungsionalitas yang disediakan oleh model aplikasi di Jadi, pengontrol menyediakan titik isolasi antara model dan tampilan, menghasilkan ujung depan dan ujung belakang yang lebih longgar. Gambar 8.2 memberikan gambaran lengkap tentang bagaimana objek dalam arsitektur MVC dipetakan ke arsitektur referensi di J2EE.

8.2 Evolusi Web

Dalam dokumen Dr. Ir. Agus Wibowo, M.Kom, M.Si, MM (Halaman 181-186)