Jika anda terbiasa dengan perograman berbasis komponen, anda pasti
mengenal java beans/ enterprise java beans. Java beans merupakan salah
satu component model. Tahu kan apa itu component model? menurut yang
saya baca di beberapa literatur, component model itu dapat dijalankan
secara independen dan bisa juga dijalankan bersama dengan komponen
komponen yang lain secara interaktif untuk melakukan suatu pekerjaan
kompleks. Waduw, kelamaan ya jelaskannya, he he he. Nah, saya lanjut ke
java beans dan enterprise Java beans.
Java Beans
merupakan komponen model java yang mendukung prinsip reusability pada
proses perangkat lunak. Kelebihan yang lainnya, dapat dimanipulasi
secara visual menggunakan builder tool dan memungkinkan pengguna untuk
membangun aplikasi secara mudah.
Java beans sifatnya portable,
sehingga tidak harus diinstall pada sistem operasi. Arsitekturnya
dibangun melalui kolaborasi antar industri dan mengijinkan developer
untuk menulis ulang komponen ke dalam bahasa pemrograman java. Java
beans pada J2EE Aplication server dapat dilihat dari gambar berikut :

Java beans dapat berupa visual
bean (button, text box) dan non visual bean (FTP, SMTP, Zip code
validator). Sedang fungsionalitas yang didukung oleh java beans adalah :
- Event; yakni suatu message yang dari suatu obyek ke obyek yang lain, memberitahukan ke penerima bahwa telah terjadi 'sesuatu', atau simplenya untuk komunikasi antar bean. Untuk itu, event dibedakan atas 3 event, yakni event source, event listener, event object.
- Property; mendefenisikan karakteristik dari suatu bean, atau method untuk get/set property valuaes. Cotoh "Public void set(value);". Property sendiri dibedakan atas 4 jenis, simple property, indexed property, bound property, dan constrained property.
- Persistence; memungkinkan beans untuk menyimpan dan merestore, atau sebagai development tool menyimpan Java Bean di dalam hardisk dan dapat diload pada suatu waktu. Selain itu, memelihara nilai property tanpa tergantung apakah Java Beans dapat menyimpan memori atau hardisk.
- Object serialization, yang memungkinkan persistence diperoleh, yakni dengan menyimpan semua content dari suatu object pada data stream dan menggenerate kembali object ketika membuat dari data stream.
- Introspection, untuk mengetahu property, events dan method. Misalnya dibuat class XXXBeanInfo, khusus untuk menjelaskan calss XXX secara detail. BeanInfo ini akan menjelaskan informasi bean seperti icon, property, method dan informasi lainnya.
- Java Reflection API, yakni Java API yang berfungsi untuk menemukan metode, field field, construktor, superclasses pada RUNTIME. API ini juga digunakan untuk menulis development tools yang lain yakni debuggers, class browsers, GUI builders
Enterprise Java Beans
Gambar
berikut akan menjelaskan ringkasan singkat dari teknologi yang
digunakan oleh flatform Java EE dan API yang digunakan dalam Java EE :

Dalam arsitektur di atas,
terdapat EJB. Enterprise Java Beans hampir sama dengan CORBA, yakni
suatu spesifikasi untuk mendefinisikan arsitektur pengembangan komponen
perangkat lunak yang transactional, distributed object application based, server side.

Ada empat komponen utaman pada
Enterprise Java Beans, yakni EJB Server, EJB Container, Beans dan EJB
Client. Berikut penjelasannya masing-masing :
1. EJB Server
Fungsi utama EJB Server adalah untuk memberikan service penamaan dan transaksi, serta membuat container visible.
2. EJB Container

Fungsi dari EJB Container :
- Merupakan interface antara bean dan dunia luar. Enterprise Beans tidak dapat berfungsi di luar container.
- Client mengakses bean melalui container,
- Mengatur semua aspek dari enterprise bean, yakni remote access, security, persistence, transaction, concurrency
Beans yang berada dibawah Environment Naming Context (ENC) adalah EJB
Client. ENC sendiri diatur oleh container. Client dapat mencari
container EJB melalui Java Naming & Directory Interface atau yang
dikenal dengan nama JNDI. EJB Client ini menggunakan beans untuk
melakukan operasi.
4. Beans
Merupakan bagian yang menyediakan service untuk client EJB dan
tempatnya berada di dalam container EJB. Bean sendiri mempunyai dua
type, yakni session bean dan entity bean.

Session bean merepresentasikan proses/task yang dilakukan atas nama
client, yang sifatnya hanya berasosiasi dengan client tertentu,
di-create dan di-destroy oleh client lain, dan akan hilang setelah
sistem shutdown. Selain itu, session beans juga dapat berinteraksi
dengan resource lain, yaitu session beans lain, entity beans dan akses
resources. Typenya juga ada dua, stateless ( tidak menyimpan record apa
yang dilakukan pada previous call) dan statefull (menyimpan record apa
yang dilakukan client pada previous call).
Sedang entity bean merepresentasikan data dalam database. Fungsi
lainnya adalah menyediakan interface berbasis object pada data yang
biasanya harus diakses menggunakan JDBC / API yang lain. Entity bean
sendiri masih dibedakan atas dua type, yakni Container Manage Persistance (CMP) dan Bean Managed Persistence (BMP). Contoh
EJB misalnya sistem database toko buku yang mengelola informasi
mengenai Customer, Book dan Order, yang mana operasi pada system adalah
customer memesan buku yang diuraikan seperti gambar berikut :

Sampai sini dulu ya kawan :D Semoga Bermanfaat ^_^
***Dari berbagai sumber***
0 komentar:
Posting Komentar