Senin, 24 Oktober 2011

Java Beans & Enterprise Java Beans

 Java Beans

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 :
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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 : 
    1. Merupakan interface antara bean dan dunia luar. Enterprise Beans tidak dapat berfungsi di luar container.
    2. Client mengakses bean melalui container,
    3. Mengatur semua aspek dari enterprise bean, yakni remote access, security, persistence, transaction, concurrency
    3. EJB Client
               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 :
    Ngantukkk, lanjutnya nanti saja ah ^__^

    ***Dari berbagai sumber***

      2 komentar: