Rangkuman Pemrograman Aplikasi J2EE – EJB

Pemrograman Java untuk aplikasi J2EE (Java 2 Platform Enterprise Edition) dan Java EE (Enterprise Edition) tidak mungkin dilakukan tanpa mengikutsertakan pembahasan  tentang EJB (Enterprise Java Beans) atau Enterprise Beans.

EJB

Merupakan standar pengembangan komponen Java yang berjalan di sisi server. Ia mendefinisikan persetujuan antara komponen dan aplikasi server yang memungkinkan setiap komponen berjalan dengan baik di beberapa server aplikasi (mis: SJSAS).

Komponen EJB disebarkan ke komputer tertentu yang berada di jaringan komputer, dapat diimpor dan dimuat ke server aplikasi yang merupakan markas dari komponen EJB yang bersangkutan. Pengembangan komponen EJB ditekankan pada fungsinya, pada layanan yang disediakan oleh spesifikasi J2EE. Arsitektur EJB hanya didukung oleh bahasa pemrograman berorientasi objek Java. Beberapa alasan untuk itu adalah  :

  • Pemisahan yan tegas antara antarmuka dan implementasi

Bertujuan agar memudahkan kita dalam melakukan pembaharuan dan pemeliharaan aplikasi. Bahasa pemrograman Java mendukung pemisahan antarmuka dan implementasi ini hingga ke perngkat sintak melalui kata kunci interface dan class.

  • Keamanan

Dalam bahasa java jika suatu thread mengalami kegagalan. Aplikasi tetap berjalan seperti seharusnya. selain itu dalam bahasa pemrograman java, pointer bukan merupakan isu yang utama.

  • Lintas Platform

Aplikasi yang dikembangkan dengan bahasa Java mampu berjalan di berbagai macam platform (baik perangkat keras, maupun lunak).

EJB ditujukan untuk melakukan operasi di sisi server, seperti mengeksekusi algoritma yang sangat kompleks, melaksanakan transaksi bisnis bervolume tinggi atau akses ke basis data yang melandasi (undelying database). Secara spesifik EJB digunakan untuk menulis berbagai logika yang diperlukan untuk menyelesaikan permasalahan bisnis aplikasi. Komponen EJB dapat melakukan tugas berikut :

  • Melaksanakan logika bisnis, seperti menghitung pajak untuk suatu shopping cart pada aplikasi e-commerce.
  • Melakukan akses ke basis data, Melakukan pemisahan yang tegas antara pengaksesan data ke basis data dengan logika pemrosesan data-data bersangkutan, sehingga jika ada perubahan, dapat di implementasikan dengan mudah.
  • Mengakses sistem yang lain, misalnya mengakses sistem yang ada pada bahasa pemrograman lain seperti COBOL, C++. EJB dapat diintegrasikan dengan aplikasi lain menggunakan JCA (J2EE Connector Architecture).

Berbagai Jenis EJB dan Pemuat EJB

Menurut spesifikasi yang dibuat oleh sun Microsystem Inc., ada 3 jenis EJB, yaitu session beans, entitiy beans, serta message-drivern beans. Sekaub itu , untuk komponen session beans dikenal 2 subtipe didalamnya, yaitu stateless beans dan statefull session beans.

Session beans merepresentasikan pekerjaan yang akan dilakukan untuk klien yang memanggilnya. Session beans merupakan kode yang mengimplementasikan proses bisnis aplikasi J2EE, yang mengimplementasikan logika bisnis, algoritma yang kompleks dan lain sebagainya. Sebagai contoh session beans dapat melakukan perhitungan harga, pemasukan pesanan, kompresi audio dan video, transaksi perbankan, operasi basis data dan lain sebagainya. Dalam hal ini session beans merupakan komponen yang dapat digunakan ulang (reusable component) untuk suatu proses bisnis tertentu.

Salah satu perbedaan kunci antara session beans dan enterprise beans yang lain adalah lingkup kehidupannya. Instansiasi suatu session beans biasanya merupakan objek yang berumur pendek. Umurnya bersesuaian dengan resi tertentu atau kode klien yang memanggilnya . Sebagai contoh, jika kode di sisi klien menghubungi session beans untuk melakukan logika pemasukan pesanan, pemuat EJB (yang dalam hal ini beberapa server aplikasi seperti SJSAS atau JBoss, yang juga bertindak sebagai oemuat EJB bertanggungjawab untuk menciptakan instansiasi session beans tersebut.

Dalam hal ini ada persamaan di antara masing-masing jenis EJB, yaitu bahwa mereka semua berada di suatu markas tertentu di memori komputer server, yang kemudian akan di instansiasi hanya saat pemanggilan metode tertentu dari arah klien. Saat ada pemanggilan metode tertentu, suatu bean akan diinstansiasi untuk melaksanakan suatu tugas tertentu. Saat bean tersebut tidak diperlukan lagi, bean itu akan dihancurkan dan kembali ke pool semula. Pool ini berada di memori komputer server.

Entity bean disimpan dalam bagian tempat penyimpanan yang permanen, misalnya dalam sistem basis data relasional. Entity beans dapat dikonstruksi di memori dari data-data yang ada di basisdata dan mereka dapat hadir untuk waktu yang lama di dalam sistem. Kontrasnya, session beans tidak bersifat persisten. Ini berarti session beans tidak dapat disimpan ditempat penyimpanan permanen, misalnya disimpan dalam sistem basis data relasional. Session beans dapat melakukan operasi terhadap sistem basis data, tetapi session beans bukan merupakan objek persisten.

Stateful session beans melakukan pencatatan beberapa permintaan yang dilakukan . Contoh penggunaannya yang paling umum adalah pada aplikasi e-Commerce. Saat melakukan pembelian, pengguna dapat menambahkan produk-produk yang dia inginkan ke suatu shopping cart. Setiap kali pengguna menambahkan produk, kita kemudian melakukan berbagai permintaan. Konsekuensinya adalah bahwa komponen harus melacak state pengguna setiap saat dari suatu permintaan ke permintaan lain. Statefull session beans dirancang agar proses bisnis dapat merentang dalam beberapa permintaan metode berganda atau dalam transaksi. Agar dapat melakukannya, statefull session beans harus memelihara state.

Agar stateless session beans bermanfaat bagi klien, klien harus melewatkan semua data klien sebagai parameter. Alternatifnya, stateless session beans dapat memanggil data-data yang dibutuhkannya daru sumber eksternal, misalnya dari sistem basis data relasional. Contoh oenggunaan stateless session beans adalah untuk melaksanakan operasi matematika yang kompleks untuk suatu input tertentu, misalnya kompresi audio atau video. Salah satu kunci keuntungan EJB adalah memberi kemampuan pada aplikasi kita untuk menciptakab entity beans. Entity beans yang merupakan objek persisten dapat kita simpan di tempat penyimpanan yang permanen, misalnya di sistem basis data relasional.

Dalam aplikasi banyak lapis berorientasi objek yang cangih, kita dapat membuat pemisahan yang jelas antara 2 jenis komponen yang disebarkan ke komputer-komputer lain yang berada dalam lingkup jaringan :

  1. Komponen logika aplikasi, merupakan metide yang melakukan pekerjaan yang bersifat umum.
  2. Komponen data yang persisten, objek dalam bentuk entity beans, yang mampu menyelaraskan diri dengan tempat penyimpanan yang persisten.

Daftar Pustaka : Nugroho, Adi. 2008. Pemrograman  Java Menggunakan IDE Eclipse Callisto Dalam Penerapannya pada Pengembangan Aplikasi JavaEE dengan Konsep Enterprise Java Bean dan Web Service. Yogyakarta : ANDI.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s